26 lines
511 B
C++
26 lines
511 B
C++
#include "env_vars.hh"
|
|
|
|
#include "string.hh"
|
|
|
|
extern char **environ;
|
|
|
|
namespace Kakoune
|
|
{
|
|
|
|
EnvVarMap get_env_vars()
|
|
{
|
|
EnvVarMap env_vars;
|
|
for (char** it = environ; *it; ++it)
|
|
{
|
|
const char* name = *it;
|
|
const char* value = name;
|
|
while (*value != 0 and *value != '=')
|
|
++value;
|
|
env_vars.insert({String{String::NoCopy{}, {name, value}},
|
|
(*value == '=') ? String{String::NoCopy{}, value+1} : String{}});
|
|
}
|
|
return env_vars;
|
|
}
|
|
|
|
}
|