chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
time-util: when formatting usec_t as raw integers use PRIu64
[elogind.git]
/
src
/
basic
/
fileio.c
diff --git
a/src/basic/fileio.c
b/src/basic/fileio.c
index d60cd76208e9aa5a5a49977d90d35f8f39c70c7f..8241e656addefef6263b832389fbb46a60974140 100644
(file)
--- a/
src/basic/fileio.c
+++ b/
src/basic/fileio.c
@@
-676,7
+676,7
@@
static int load_env_file_push(
return -EINVAL;
}
return -EINVAL;
}
- p = strjoin(key, "=", strempty(value)
, NULL
);
+ p = strjoin(key, "=", strempty(value));
if (!p)
return -ENOMEM;
if (!p)
return -ENOMEM;
@@
-965,9
+965,9
@@
static int search_and_fopen_internal(const char *path, const char *mode, const c
FILE *f;
if (root)
FILE *f;
if (root)
- p = strjoin(root, *i, "/", path
, NULL
);
+ p = strjoin(root, *i, "/", path);
else
else
- p = strjoin(*i, "/", path
, NULL
);
+ p = strjoin(*i, "/", path);
if (!p)
return -ENOMEM;
if (!p)
return -ENOMEM;
@@
-1046,7
+1046,7
@@
int fopen_temporary(const char *path, FILE **_f, char **_temp_path) {
if (r < 0)
return r;
if (r < 0)
return r;
- fd = mkostemp_safe(t
, O_WRONLY|O_CLOEXEC
);
+ fd = mkostemp_safe(t);
if (fd < 0) {
free(t);
return -errno;
if (fd < 0) {
free(t);
return -errno;
@@
-1079,7
+1079,7
@@
int fflush_and_check(FILE *f) {
}
/* This is much like mkostemp() but is subject to umask(). */
}
/* This is much like mkostemp() but is subject to umask(). */
-int mkostemp_safe(char *pattern
, int flags
) {
+int mkostemp_safe(char *pattern) {
_cleanup_umask_ mode_t u = 0;
int fd;
_cleanup_umask_ mode_t u = 0;
int fd;
@@
-1087,7
+1087,7
@@
int mkostemp_safe(char *pattern, int flags) {
u = umask(077);
u = umask(077);
- fd = mkostemp(pattern,
flags
);
+ fd = mkostemp(pattern,
O_CLOEXEC
);
if (fd < 0)
return -errno;
if (fd < 0)
return -errno;
@@
-1293,7
+1293,7
@@
int open_tmpfile_unlinkable(const char *directory, int flags) {
/* Fall back to unguessable name + unlinking */
p = strjoina(directory, "/systemd-tmp-XXXXXX");
/* Fall back to unguessable name + unlinking */
p = strjoina(directory, "/systemd-tmp-XXXXXX");
- fd = mkostemp_safe(p
, flags
);
+ fd = mkostemp_safe(p);
if (fd < 0)
return fd;
if (fd < 0)
return fd;
@@
-1414,3
+1414,22
@@
int read_nul_string(FILE *f, char **ret) {
return 0;
}
return 0;
}
+
+int mkdtemp_malloc(const char *template, char **ret) {
+ char *p;
+
+ assert(template);
+ assert(ret);
+
+ p = strdup(template);
+ if (!p)
+ return -ENOMEM;
+
+ if (!mkdtemp(p)) {
+ free(p);
+ return -errno;
+ }
+
+ *ret = p;
+ return 0;
+}