[llvm-commits] [llvm] r128199 - /llvm/trunk/lib/Support/Unix/PathV2.inc
Michael J. Spencer
bigcheesegs at gmail.com
Wed Mar 23 22:23:40 PDT 2011
Author: mspencer
Date: Thu Mar 24 00:23:40 2011
New Revision: 128199
URL: http://llvm.org/viewvc/llvm-project?rev=128199&view=rev
Log:
Remove all uses of PATH_MAX and MAXPATHLEN from PathV2.
Modified:
llvm/trunk/lib/Support/Unix/PathV2.inc
Modified: llvm/trunk/lib/Support/Unix/PathV2.inc
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Unix/PathV2.inc?rev=128199&r1=128198&r2=128199&view=diff
==============================================================================
--- llvm/trunk/lib/Support/Unix/PathV2.inc (original)
+++ llvm/trunk/lib/Support/Unix/PathV2.inc Thu Mar 24 00:23:40 2011
@@ -93,7 +93,8 @@
namespace fs {
error_code current_path(SmallVectorImpl<char> &result) {
- result.reserve(MAXPATHLEN);
+ // Reserve an arbitrary amount of space.
+ result.reserve(128);
while (true) {
if (::getcwd(result.data(), result.capacity()) == 0) {
@@ -417,18 +418,13 @@
}
// Make the path absolute.
- char real_path_buff[PATH_MAX + 1];
- if (realpath(RandomPath.c_str(), real_path_buff) == NULL) {
- int error = errno;
+ if (error_code ec = make_absolute(RandomPath)) {
::close(RandomFD);
::unlink(RandomPath.c_str());
- return error_code(error, system_category());
+ return ec;
}
- result_path.clear();
- StringRef d(real_path_buff);
- result_path.append(d.begin(), d.end());
-
+ result_path = RandomPath;
result_fd = RandomFD;
return success;
}
More information about the llvm-commits
mailing list