aboutsummaryrefslogtreecommitdiff
path: root/src/nix
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2019-11-22 16:06:44 +0100
committerEelco Dolstra <edolstra@gmail.com>2019-11-22 16:18:13 +0100
commitba87b08f8529e4d9f8c58d8c625152058ceadb75 (patch)
treec78196cbeb52273c3d5b99ff8dee314108940b9a /src/nix
parentfd900c45b5ff9c6dc7f3ec814eca4ad603720899 (diff)
getEnv(): Return std::optional
This allows distinguishing between an empty value and no value.
Diffstat (limited to 'src/nix')
-rw-r--r--src/nix/command.cc2
-rw-r--r--src/nix/doctor.cc4
-rw-r--r--src/nix/run.cc2
-rw-r--r--src/nix/upgrade-nix.cc2
4 files changed, 5 insertions, 5 deletions
diff --git a/src/nix/command.cc b/src/nix/command.cc
index 97c2fcf1c..724f03e5d 100644
--- a/src/nix/command.cc
+++ b/src/nix/command.cc
@@ -156,7 +156,7 @@ void StorePathCommand::run(ref<Store> store)
Strings editorFor(const Pos & pos)
{
- auto editor = getEnv("EDITOR", "cat");
+ auto editor = getEnv("EDITOR").value_or("cat");
auto args = tokenizeString<Strings>(editor);
if (pos.line > 0 && (
editor.find("emacs") != std::string::npos ||
diff --git a/src/nix/doctor.cc b/src/nix/doctor.cc
index 795236c5f..481c93b45 100644
--- a/src/nix/doctor.cc
+++ b/src/nix/doctor.cc
@@ -68,7 +68,7 @@ struct CmdDoctor : StoreCommand
{
PathSet dirs;
- for (auto & dir : tokenizeString<Strings>(getEnv("PATH"), ":"))
+ for (auto & dir : tokenizeString<Strings>(getEnv("PATH").value_or(""), ":"))
if (pathExists(dir + "/nix-env"))
dirs.insert(dirOf(canonPath(dir + "/nix-env", true)));
@@ -87,7 +87,7 @@ struct CmdDoctor : StoreCommand
{
PathSet dirs;
- for (auto & dir : tokenizeString<Strings>(getEnv("PATH"), ":")) {
+ for (auto & dir : tokenizeString<Strings>(getEnv("PATH").value_or(""), ":")) {
Path profileDir = dirOf(dir);
try {
Path userEnv = canonPath(profileDir, true);
diff --git a/src/nix/run.cc b/src/nix/run.cc
index 90b76d666..fd4f92282 100644
--- a/src/nix/run.cc
+++ b/src/nix/run.cc
@@ -128,7 +128,7 @@ struct CmdRun : InstallablesCommand
std::queue<Path> todo;
for (auto & path : outPaths) todo.push(path);
- auto unixPath = tokenizeString<Strings>(getEnv("PATH"), ":");
+ auto unixPath = tokenizeString<Strings>(getEnv("PATH").value_or(""), ":");
while (!todo.empty()) {
Path path = todo.front();
diff --git a/src/nix/upgrade-nix.cc b/src/nix/upgrade-nix.cc
index 35c44a70c..6c9e37d04 100644
--- a/src/nix/upgrade-nix.cc
+++ b/src/nix/upgrade-nix.cc
@@ -106,7 +106,7 @@ struct CmdUpgradeNix : MixDryRun, StoreCommand
{
Path where;
- for (auto & dir : tokenizeString<Strings>(getEnv("PATH"), ":"))
+ for (auto & dir : tokenizeString<Strings>(getEnv("PATH").value_or(""), ":"))
if (pathExists(dir + "/nix-env")) {
where = dir;
break;