summaryrefslogtreecommitdiff
path: root/src/basic
diff options
context:
space:
mode:
authorYu Watanabe <watanabe.yu+github@gmail.com>2020-11-12 16:30:06 +0900
committerGitHub <noreply@github.com>2020-11-12 16:30:06 +0900
commit9429ee6a89772d96ad3340b730bc3ca3ba8f0cc7 (patch)
tree05cd26ed493b6f4b9129eeff1fe258340dff68c3 /src/basic
parentca121e20c42219e3bc4e5cb63dcc96cc5eae2879 (diff)
parent4d5f52e77e1978a4f07fca2a1ecae45d5c5979c1 (diff)
downloadsystemd-9429ee6a89772d96ad3340b730bc3ca3ba8f0cc7.tar.gz
Merge pull request #17567 from keszybz/various-small-cleanups
Various small cleanups
Diffstat (limited to 'src/basic')
-rw-r--r--src/basic/env-util.c12
-rw-r--r--src/basic/env-util.h3
-rw-r--r--src/basic/fileio.c8
-rw-r--r--src/basic/fileio.h4
4 files changed, 21 insertions, 6 deletions
diff --git a/src/basic/env-util.c b/src/basic/env-util.c
index bf191044c0..a84863ff22 100644
--- a/src/basic/env-util.c
+++ b/src/basic/env-util.c
@@ -747,3 +747,15 @@ int getenv_bool_secure(const char *p) {
return parse_boolean(e);
}
+
+int set_unset_env(const char *name, const char *value, bool overwrite) {
+ int r;
+
+ if (value)
+ r = setenv(name, value, overwrite);
+ else
+ r = unsetenv(name);
+ if (r < 0)
+ return -errno;
+ return 0;
+}
diff --git a/src/basic/env-util.h b/src/basic/env-util.h
index a37603dbd8..6684b3350f 100644
--- a/src/basic/env-util.h
+++ b/src/basic/env-util.h
@@ -52,3 +52,6 @@ char *strv_env_get(char **x, const char *n) _pure_;
int getenv_bool(const char *p);
int getenv_bool_secure(const char *p);
+
+/* Like setenv, but calls unsetenv if value == NULL. */
+int set_unset_env(const char *name, const char *value, bool overwrite);
diff --git a/src/basic/fileio.c b/src/basic/fileio.c
index 71a2654507..973756c891 100644
--- a/src/basic/fileio.c
+++ b/src/basic/fileio.c
@@ -117,7 +117,7 @@ int write_string_stream_ts(
FILE *f,
const char *line,
WriteStringFileFlags flags,
- struct timespec *ts) {
+ const struct timespec *ts) {
bool needs_nl;
int r, fd;
@@ -161,7 +161,7 @@ int write_string_stream_ts(
return r;
if (ts) {
- struct timespec twice[2] = {*ts, *ts};
+ const struct timespec twice[2] = {*ts, *ts};
if (futimens(fd, twice) < 0)
return -errno;
@@ -174,7 +174,7 @@ static int write_string_file_atomic(
const char *fn,
const char *line,
WriteStringFileFlags flags,
- struct timespec *ts) {
+ const struct timespec *ts) {
_cleanup_fclose_ FILE *f = NULL;
_cleanup_free_ char *p = NULL;
@@ -221,7 +221,7 @@ int write_string_file_ts(
const char *fn,
const char *line,
WriteStringFileFlags flags,
- struct timespec *ts) {
+ const struct timespec *ts) {
_cleanup_fclose_ FILE *f = NULL;
int q, r, fd;
diff --git a/src/basic/fileio.h b/src/basic/fileio.h
index b34ed5e88b..0886354cbc 100644
--- a/src/basic/fileio.h
+++ b/src/basic/fileio.h
@@ -48,11 +48,11 @@ DIR* take_fdopendir(int *dfd);
FILE* open_memstream_unlocked(char **ptr, size_t *sizeloc);
FILE* fmemopen_unlocked(void *buf, size_t size, const char *mode);
-int write_string_stream_ts(FILE *f, const char *line, WriteStringFileFlags flags, struct timespec *ts);
+int write_string_stream_ts(FILE *f, const char *line, WriteStringFileFlags flags, const struct timespec *ts);
static inline int write_string_stream(FILE *f, const char *line, WriteStringFileFlags flags) {
return write_string_stream_ts(f, line, flags, NULL);
}
-int write_string_file_ts(const char *fn, const char *line, WriteStringFileFlags flags, struct timespec *ts);
+int write_string_file_ts(const char *fn, const char *line, WriteStringFileFlags flags, const struct timespec *ts);
static inline int write_string_file(const char *fn, const char *line, WriteStringFileFlags flags) {
return write_string_file_ts(fn, line, flags, NULL);
}