From 70a26e93a9870ab5f35b0f82c53ded7dfd8f7785 Mon Sep 17 00:00:00 2001 From: Ed Maste Date: Fri, 7 Apr 2017 16:40:25 +0000 Subject: [PATCH] Correct environ parsing on FreeBSD Sync Host:GetEnvironment with Linux and Kamil Rytarowski's forthcoming NetBSD change in review D31784. llvm-svn: 299781 --- lldb/source/Host/freebsd/Host.cpp | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/lldb/source/Host/freebsd/Host.cpp b/lldb/source/Host/freebsd/Host.cpp index 2bcea5a45de8..9415b2bb3fd0 100644 --- a/lldb/source/Host/freebsd/Host.cpp +++ b/lldb/source/Host/freebsd/Host.cpp @@ -52,18 +52,6 @@ extern char **environ; using namespace lldb; using namespace lldb_private; -size_t Host::GetEnvironment(StringList &env) { - char *v; - char **var = environ; - for (; var != NULL && *var != NULL; ++var) { - v = strchr(*var, (int)'-'); - if (v == NULL) - continue; - env.AppendString(v); - } - return env.GetSize(); -} - static bool GetFreeBSDProcessArgs(const ProcessInstanceInfoMatch *match_info_ptr, ProcessInstanceInfo &process_info) { @@ -243,6 +231,15 @@ bool Host::GetProcessInfo(lldb::pid_t pid, ProcessInstanceInfo &process_info) { return false; } +size_t Host::GetEnvironment(StringList &env) { + char **host_env = environ; + char *env_entry; + size_t i; + for (i = 0; (env_entry = host_env[i]) != NULL; ++i) + env.AppendString(env_entry); + return i; +} + Error Host::ShellExpandArguments(ProcessLaunchInfo &launch_info) { return Error("unimplemented"); }