diff options
-rw-r--r-- | lldb/include/lldb/Host/FileSpec.h | 6 | ||||
-rw-r--r-- | lldb/source/Core/StreamFile.cpp | 2 | ||||
-rw-r--r-- | lldb/source/Host/common/FileSpec.cpp | 14 |
3 files changed, 13 insertions, 9 deletions
diff --git a/lldb/include/lldb/Host/FileSpec.h b/lldb/include/lldb/Host/FileSpec.h index bcac35543c4..d43ba058fc9 100644 --- a/lldb/include/lldb/Host/FileSpec.h +++ b/lldb/include/lldb/Host/FileSpec.h @@ -15,7 +15,6 @@ #include "lldb/Core/ConstString.h" #include "lldb/Core/STLUtils.h" #include "lldb/Host/TimeValue.h" -#include "lldb/Host/Config.h" namespace lldb_private { @@ -521,9 +520,6 @@ public: static size_t Resolve (const char *src_path, char *dst_path, size_t dst_len); -#ifdef LLDB_CONFIG_TILDE_RESOLVES_TO_USER - - //------------------------------------------------------------------ /// Resolves the user name at the beginning of \a src_path, and writes the output /// to \a dst_path. Note, \a src_path can contain other path components after the @@ -548,8 +544,6 @@ public: static size_t ResolveUsername (const char *src_path, char *dst_path, size_t dst_len); -#endif - enum EnumerateDirectoryResult { eEnumerateDirectoryResultNext, // Enumerate next entry in the current directory diff --git a/lldb/source/Core/StreamFile.cpp b/lldb/source/Core/StreamFile.cpp index 90959105494..5fb42d94703 100644 --- a/lldb/source/Core/StreamFile.cpp +++ b/lldb/source/Core/StreamFile.cpp @@ -98,6 +98,8 @@ StreamFile::Open (const char *path, const char *permissions) void StreamFile::SetLineBuffered () { + // TODO: check if we can get rid of this LLDB_CONFIG if we do a: + // setvbuf(m_file, (char *)NULL, _IOLBF, 0); #ifdef LLDB_CONFIG_SUPPORTS_SETLINEBUFFERED if (m_file != NULL) setlinebuf (m_file); diff --git a/lldb/source/Host/common/FileSpec.cpp b/lldb/source/Host/common/FileSpec.cpp index 557c7043b07..2b6c86a7f49 100644 --- a/lldb/source/Host/common/FileSpec.cpp +++ b/lldb/source/Host/common/FileSpec.cpp @@ -63,6 +63,8 @@ GetCachedGlobTildeSlash() return g_tilde.c_str(); } +#endif // #ifdef LLDB_CONFIG_TILDE_RESOLVES_TO_USER + // Resolves the username part of a path of the form ~user/other/directories, and // writes the result into dst_path. // Returns 0 if there WAS a ~ in the path but the username couldn't be resolved. @@ -71,11 +73,14 @@ GetCachedGlobTildeSlash() size_t FileSpec::ResolveUsername (const char *src_path, char *dst_path, size_t dst_len) { + if (src_path == NULL || src_path[0] == '\0') + return 0; + +#ifdef LLDB_CONFIG_TILDE_RESOLVES_TO_USER + char user_home[PATH_MAX]; const char *user_name; - if (src_path == NULL || src_path[0] == '\0') - return 0; // If there's no ~, then just copy src_path straight to dst_path (they may be the same string...) if (src_path[0] != '~') @@ -133,8 +138,11 @@ FileSpec::ResolveUsername (const char *src_path, char *dst_path, size_t dst_len) return 0; else return ::snprintf (dst_path, dst_len, "%s%s", home_dir, remainder); +#else + // Resolving home directories is not supported, just copy the path... + return ::snprintf (dst_path, dst_len, "%s", src_path); +#endif // #ifdef LLDB_CONFIG_TILDE_RESOLVES_TO_USER } -#endif // #ifdef LLDB_CONFIG_TILDE_RESOLVES_TO_USER size_t FileSpec::Resolve (const char *src_path, char *dst_path, size_t dst_len) |