aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2022-05-04 11:58:20 +0200
committerGitHub <noreply@github.com>2022-05-04 11:58:20 +0200
commit470e27ce8008ba952225b9f9f7f61a9627376f33 (patch)
tree26f93c989175825996538b6e8aae4af5ed28bfa0
parent1385b2007804c8a0370f2a6555045a00e34b07c7 (diff)
parent107613ad2b2b61ef92edf9ee53ec71ad664be71b (diff)
Merge pull request #6482 from edolstra/json-utils
Move json stuff out of util.cc
-rw-r--r--src/libstore/build/local-derivation-goal.cc3
-rw-r--r--src/libstore/build/worker.cc2
-rw-r--r--src/libutil/json-utils.hh21
-rw-r--r--src/libutil/util.cc15
-rw-r--r--src/libutil/util.hh3
5 files changed, 23 insertions, 21 deletions
diff --git a/src/libstore/build/local-derivation-goal.cc b/src/libstore/build/local-derivation-goal.cc
index 7f44276bd..3ac9c20f9 100644
--- a/src/libstore/build/local-derivation-goal.cc
+++ b/src/libstore/build/local-derivation-goal.cc
@@ -14,6 +14,7 @@
#include "worker-protocol.hh"
#include "topo-sort.hh"
#include "callback.hh"
+#include "json-utils.hh"
#include <regex>
#include <queue>
@@ -56,8 +57,6 @@
#include <pwd.h>
#include <grp.h>
-#include <nlohmann/json.hpp>
-
namespace nix {
void handleDiffHook(
diff --git a/src/libstore/build/worker.cc b/src/libstore/build/worker.cc
index e7c01a737..b192fbc77 100644
--- a/src/libstore/build/worker.cc
+++ b/src/libstore/build/worker.cc
@@ -350,7 +350,7 @@ void Worker::waitForInput()
become `available'. Note that `available' (i.e., non-blocking)
includes EOF. */
std::vector<struct pollfd> pollStatus;
- std::map <int, int> fdToPollStatus;
+ std::map<int, size_t> fdToPollStatus;
for (auto & i : children) {
for (auto & j : i.fds) {
pollStatus.push_back((struct pollfd) { .fd = j, .events = POLLIN });
diff --git a/src/libutil/json-utils.hh b/src/libutil/json-utils.hh
new file mode 100644
index 000000000..b8a031227
--- /dev/null
+++ b/src/libutil/json-utils.hh
@@ -0,0 +1,21 @@
+#pragma once
+
+#include <nlohmann/json.hpp>
+
+namespace nix {
+
+const nlohmann::json * get(const nlohmann::json & map, const std::string & key)
+{
+ auto i = map.find(key);
+ if (i == map.end()) return nullptr;
+ return &*i;
+}
+
+nlohmann::json * get(nlohmann::json & map, const std::string & key)
+{
+ auto i = map.find(key);
+ if (i == map.end()) return nullptr;
+ return &*i;
+}
+
+}
diff --git a/src/libutil/util.cc b/src/libutil/util.cc
index 8bc99f531..d4d78329d 100644
--- a/src/libutil/util.cc
+++ b/src/libutil/util.cc
@@ -1586,23 +1586,8 @@ std::string stripIndentation(std::string_view s)
}
-const nlohmann::json * get(const nlohmann::json & map, const std::string & key)
-{
- auto i = map.find(key);
- if (i == map.end()) return nullptr;
- return &*i;
-}
-
-nlohmann::json * get(nlohmann::json & map, const std::string & key)
-{
- auto i = map.find(key);
- if (i == map.end()) return nullptr;
- return &*i;
-}
-
//////////////////////////////////////////////////////////////////////
-
static Sync<std::pair<unsigned short, unsigned short>> windowSize{{0, 0}};
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index 6319ced47..09ccfa591 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -558,9 +558,6 @@ typename T::mapped_type * get(T & map, const typename T::key_type & key)
return &i->second;
}
-const nlohmann::json * get(const nlohmann::json & map, const std::string & key);
-nlohmann::json * get(nlohmann::json & map, const std::string & key);
-
/* Get a value for the specified key from an associate container, or a default value if the key isn't present. */
template <class T>
const typename T::mapped_type & getOr(T & map,