summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/shared/util.c13
-rw-r--r--src/shared/util.h2
2 files changed, 8 insertions, 7 deletions
diff --git a/src/shared/util.c b/src/shared/util.c
index 1b9edad70c..b53042182d 100644
--- a/src/shared/util.c
+++ b/src/shared/util.c
@@ -385,7 +385,7 @@ const char* split(const char **state, size_t *l, const char *separator, bool quo
*l = strcspn_escaped(current + 1, quotechars);
if (current[*l + 1] == '\0' ||
(current[*l + 2] && !strchr(separator, current[*l + 2]))) {
- /* right quote missing or garbage at the end*/
+ /* right quote missing or garbage at the end */
*state = current;
return NULL;
}
@@ -1044,15 +1044,15 @@ int fd_wait_for_event(int fd, int event, usec_t t) {
int fopen_temporary(const char *path, FILE **_f, char **_temp_path) {
FILE *f;
char *t;
- int fd;
+ int r, fd;
assert(path);
assert(_f);
assert(_temp_path);
- t = tempfn_xxxxxx(path);
- if (!t)
- return -ENOMEM;
+ r = tempfn_xxxxxx(path, &t);
+ if (r < 0)
+ return r;
#if HAVE_DECL_MKOSTEMP
fd = mkostemp_safe(t, O_WRONLY|O_CLOEXEC);
@@ -1577,7 +1577,8 @@ char *tempfn_xxxxxx(const char *p) {
strcpy(stpcpy(stpcpy(mempcpy(t, p, k), "."), fn), "XXXXXX");
- return t;
+ *ret = t;
+ return 0;
}
int is_dir(const char* path, bool follow) {
diff --git a/src/shared/util.h b/src/shared/util.h
index 21e977dc51..5cc8452407 100644
--- a/src/shared/util.h
+++ b/src/shared/util.h
@@ -453,7 +453,7 @@ union file_handle_union {
char padding[sizeof(struct file_handle) + MAX_HANDLE_SZ];
};
-char *tempfn_xxxxxx(const char *p);
+int tempfn_xxxxxx(const char *p, char **ret);
int is_dir(const char *path, bool follow);