From 87e5ff02a1248cf18c8ca7430df0ab7d55643e00 Mon Sep 17 00:00:00 2001 From: Greg Clayton Date: Tue, 8 Feb 2011 05:19:06 +0000 Subject: [PATCH] A bit more cleanup with respect to using LLDB_CONFIG_XXX defines outside of the lldb/source/Host/*.cpp and lldb/source/Host/*/*.cpp directories. The only offenders are the command completion and the StreamFile.cpp. I will soon modify StreamFile.cpp to use a lldb/source/Host/File.cpp so that all file open, close, read, write, seek, are abstracted into the host layer as well, then this will be gone. llvm-svn: 125082 --- lldb/include/lldb/Host/FileSpec.h | 6 ------ lldb/source/Core/StreamFile.cpp | 2 ++ 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 bcac35543c4f..d43ba058fc97 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 909591054942..5fb42d94703b 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 557c7043b078..2b6c86a7f49c 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)