summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/cgroup-util.c6
-rw-r--r--src/basic/env-util.c22
-rw-r--r--src/basic/env-util.h1
-rw-r--r--src/basic/format-util.h (renamed from src/basic/formats-util.h)0
-rw-r--r--src/basic/log.c2
-rw-r--r--src/basic/process-util.h2
-rw-r--r--src/basic/rlimit-util.c2
-rw-r--r--src/basic/socket-util.c2
-rw-r--r--src/basic/string-util.h3
-rw-r--r--src/basic/time-util.c8
-rw-r--r--src/basic/time-util.h6
-rw-r--r--src/basic/user-util.c2
-rw-r--r--src/basic/util.c2
-rw-r--r--src/basic/util.h2
14 files changed, 41 insertions, 19 deletions
diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c
index 5fce32f769..dc13025115 100644
--- a/src/basic/cgroup-util.c
+++ b/src/basic/cgroup-util.c
@@ -38,7 +38,7 @@
#include "extract-word.h"
#include "fd-util.h"
#include "fileio.h"
-#include "formats-util.h"
+#include "format-util.h"
#include "fs-util.h"
#include "log.h"
#include "login-util.h"
@@ -2423,10 +2423,10 @@ bool cg_is_unified_systemd_controller_wanted(void) {
r = get_proc_cmdline_key("systemd.legacy_systemd_cgroup_controller=", &value);
if (r < 0)
- return true;
+ return false;
if (r == 0)
- wanted = true;
+ wanted = false;
else
wanted = parse_boolean(value) <= 0;
}
diff --git a/src/basic/env-util.c b/src/basic/env-util.c
index b74290d6fd..7c69ccdaf9 100644
--- a/src/basic/env-util.c
+++ b/src/basic/env-util.c
@@ -384,6 +384,28 @@ char **strv_env_unset_many(char **l, ...) {
return l;
}
+int strv_env_replace(char ***l, char *p) {
+ char **f;
+
+ assert(p);
+
+ /* Replace first occurrence of the env var or add a new one in the
+ * string list. Drop other occurences. Edits in-place. Does not copy p.
+ */
+
+ for (f = *l; f && *f; f++)
+ if (env_match(*f, p)) {
+ free_and_replace(*f, p);
+ strv_env_unset(f + 1, p);
+ return 0;
+ }
+
+ /* We didn't find a match, we need to append p or create a new strv */
+ if (strv_push(l, p) < 0)
+ return -ENOMEM;
+ return 1;
+}
+
char **strv_env_set(char **x, const char *p) {
char **k, **r;
diff --git a/src/basic/env-util.h b/src/basic/env-util.h
index b1fef704c2..8cb0fc2131 100644
--- a/src/basic/env-util.h
+++ b/src/basic/env-util.h
@@ -44,6 +44,7 @@ char **strv_env_delete(char **x, unsigned n_lists, ...); /* New copy */
char **strv_env_set(char **x, const char *p); /* New copy ... */
char **strv_env_unset(char **l, const char *p); /* In place ... */
char **strv_env_unset_many(char **l, ...) _sentinel_;
+int strv_env_replace(char ***l, char *p); /* In place ... */
char *strv_env_get_n(char **l, const char *name, size_t k) _pure_;
char *strv_env_get(char **x, const char *n) _pure_;
diff --git a/src/basic/formats-util.h b/src/basic/format-util.h
index 39a185f59b..39a185f59b 100644
--- a/src/basic/formats-util.h
+++ b/src/basic/format-util.h
diff --git a/src/basic/log.c b/src/basic/log.c
index 4919d175da..f5cff4cc9f 100644
--- a/src/basic/log.c
+++ b/src/basic/log.c
@@ -37,7 +37,7 @@
#include "alloc-util.h"
#include "fd-util.h"
-#include "formats-util.h"
+#include "format-util.h"
#include "io-util.h"
#include "log.h"
#include "macro.h"
diff --git a/src/basic/process-util.h b/src/basic/process-util.h
index 2568e3834f..89dfeb4d6a 100644
--- a/src/basic/process-util.h
+++ b/src/basic/process-util.h
@@ -28,7 +28,7 @@
#include <sys/types.h>
#include <sys/resource.h>
-#include "formats-util.h"
+#include "format-util.h"
#include "macro.h"
#define procfs_file_alloca(pid, field) \
diff --git a/src/basic/rlimit-util.c b/src/basic/rlimit-util.c
index ee063720ed..ca834df621 100644
--- a/src/basic/rlimit-util.c
+++ b/src/basic/rlimit-util.c
@@ -22,7 +22,7 @@
#include "alloc-util.h"
#include "extract-word.h"
-#include "formats-util.h"
+#include "format-util.h"
#include "macro.h"
#include "missing.h"
#include "rlimit-util.h"
diff --git a/src/basic/socket-util.c b/src/basic/socket-util.c
index 1662c04705..4ebf106109 100644
--- a/src/basic/socket-util.c
+++ b/src/basic/socket-util.c
@@ -34,7 +34,7 @@
#include "alloc-util.h"
#include "fd-util.h"
#include "fileio.h"
-#include "formats-util.h"
+#include "format-util.h"
#include "log.h"
#include "macro.h"
#include "missing.h"
diff --git a/src/basic/string-util.h b/src/basic/string-util.h
index 0175803302..e99f7964be 100644
--- a/src/basic/string-util.h
+++ b/src/basic/string-util.h
@@ -107,9 +107,6 @@ const char* split(const char **state, size_t *l, const char *separator, bool quo
#define FOREACH_WORD_SEPARATOR(word, length, s, separator, state) \
_FOREACH_WORD(word, length, s, separator, false, state)
-#define FOREACH_WORD_QUOTED(word, length, s, state) \
- _FOREACH_WORD(word, length, s, WHITESPACE, true, state)
-
#define _FOREACH_WORD(word, length, s, separator, quoted, state) \
for ((state) = (s), (word) = split(&(state), &(length), (separator), (quoted)); (word); (word) = split(&(state), &(length), (separator), (quoted)))
diff --git a/src/basic/time-util.c b/src/basic/time-util.c
index fedff1362c..cbdfd55ada 100644
--- a/src/basic/time-util.c
+++ b/src/basic/time-util.c
@@ -309,7 +309,7 @@ static char *format_timestamp_internal(
if (n + 8 > l)
return NULL; /* Microseconds part doesn't fit. */
- sprintf(buf + n, ".%06llu", (unsigned long long) (t % USEC_PER_SEC));
+ sprintf(buf + n, ".%06"PRI_USEC, t % USEC_PER_SEC);
}
/* Append the timezone */
@@ -499,11 +499,11 @@ char *format_timespan(char *buf, size_t l, usec_t t, usec_t accuracy) {
if (j > 0) {
k = snprintf(p, l,
- "%s"USEC_FMT".%0*llu%s",
+ "%s"USEC_FMT".%0*"PRI_USEC"%s",
p > buf ? " " : "",
a,
j,
- (unsigned long long) b,
+ b,
table[i].suffix);
t = 0;
@@ -1320,7 +1320,7 @@ unsigned long usec_to_jiffies(usec_t u) {
r = sysconf(_SC_CLK_TCK);
assert(r > 0);
- hz = (unsigned long) r;
+ hz = r;
}
return DIV_ROUND_UP(u , USEC_PER_SEC / hz);
diff --git a/src/basic/time-util.h b/src/basic/time-util.h
index 558b0b5b7f..f67a4474ed 100644
--- a/src/basic/time-util.h
+++ b/src/basic/time-util.h
@@ -29,8 +29,10 @@
typedef uint64_t usec_t;
typedef uint64_t nsec_t;
-#define NSEC_FMT "%" PRIu64
-#define USEC_FMT "%" PRIu64
+#define PRI_NSEC PRIu64
+#define PRI_USEC PRIu64
+#define NSEC_FMT "%" PRI_NSEC
+#define USEC_FMT "%" PRI_USEC
#include "macro.h"
diff --git a/src/basic/user-util.c b/src/basic/user-util.c
index de6c93056e..938533d2e7 100644
--- a/src/basic/user-util.c
+++ b/src/basic/user-util.c
@@ -34,7 +34,7 @@
#include "alloc-util.h"
#include "fd-util.h"
#include "fileio.h"
-#include "formats-util.h"
+#include "format-util.h"
#include "macro.h"
#include "missing.h"
#include "parse-util.h"
diff --git a/src/basic/util.c b/src/basic/util.c
index 0f65e4839c..c1b5ca1ef7 100644
--- a/src/basic/util.c
+++ b/src/basic/util.c
@@ -41,7 +41,7 @@
#include "dirent-util.h"
#include "fd-util.h"
#include "fileio.h"
-#include "formats-util.h"
+#include "format-util.h"
#include "hashmap.h"
#include "hostname-util.h"
#include "log.h"
diff --git a/src/basic/util.h b/src/basic/util.h
index bb2fc318ef..c3802a811c 100644
--- a/src/basic/util.h
+++ b/src/basic/util.h
@@ -41,7 +41,7 @@
#include <time.h>
#include <unistd.h>
-#include "formats-util.h"
+#include "format-util.h"
#include "macro.h"
#include "missing.h"
#include "time-util.h"