summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Clayton <gclayton@apple.com>2011-02-08 05:19:06 +0000
committerGreg Clayton <gclayton@apple.com>2011-02-08 05:19:06 +0000
commit87e5ff02a1248cf18c8ca7430df0ab7d55643e00 (patch)
tree6addaef7a265821b5b45fde9cab2b330ec3480f6
parent0e97cbcbc9d0361da6d4eda53a304c2a8c71c64f (diff)
downloadbcm5719-llvm-87e5ff02a1248cf18c8ca7430df0ab7d55643e00.tar.gz
bcm5719-llvm-87e5ff02a1248cf18c8ca7430df0ab7d55643e00.zip
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
-rw-r--r--lldb/include/lldb/Host/FileSpec.h6
-rw-r--r--lldb/source/Core/StreamFile.cpp2
-rw-r--r--lldb/source/Host/common/FileSpec.cpp14
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)
OpenPOWER on IntegriCloud