chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
core/group-util: merge two functions
[elogind.git]
/
src
/
shared
/
util.c
diff --git
a/src/shared/util.c
b/src/shared/util.c
index 08c0c2be131c2531c6168f1c1f8d62d9d1ab8c7e..37e383f2efb8224aad640eda64c04497d3d192b6 100644
(file)
--- a/
src/shared/util.c
+++ b/
src/shared/util.c
@@
-775,20
+775,19
@@
fail:
return r;
}
return r;
}
-int load_env_file(
- const char *fname,
- char ***rl) {
+int load_env_file(const char *fname,
+ char ***rl) {
- FILE *f;
+ FILE
_cleanup_fclose_
*f;
char *b;
char *b;
- char *c = NULL;
- char **m = NULL;
- int r;
+ char _cleanup_free_ *c = NULL;
+ char _cleanup_strv_free_ **m = NULL;
assert(fname);
assert(rl);
assert(fname);
assert(rl);
- if (!(f = fopen(fname, "re")))
+ f = fopen(fname, "re");
+ if (!f)
return -errno;
while (!feof(f)) {
return -errno;
while (!feof(f)) {
@@
-796,24
+795,19
@@
int load_env_file(
char **t;
if (!fgets(l, sizeof(l), f)) {
char **t;
if (!fgets(l, sizeof(l), f)) {
- if(!feof(f)) {
- r = -errno;
- goto finish;
- }
+ if (!feof(f))
+ return -errno;
else if (!c)
break;
else if (!c)
break;
-
}
cs = endswith(l, "\\\n");
if (cs) {
}
cs = endswith(l, "\\\n");
if (cs) {
-
*cs = '\0';
b = strappend(c, l);
*cs = '\0';
b = strappend(c, l);
- if (!b) {
- r = log_oom();
- goto finish;
- }
+ if (!b)
+ return log_oom();
+
free(c);
c = b;
*l = '\0';
free(c);
c = b;
*l = '\0';
@@
-822,10
+816,9
@@
int load_env_file(
if (c) {
b = strappend(c, l);
if (c) {
b = strappend(c, l);
- if (!b) {
- r = log_oom();
- goto finish;
- }
+ if (!b)
+ return log_oom();
+
free(c);
c = b;
}
free(c);
c = b;
}
@@
-838,39
+831,27
@@
int load_env_file(
if (strchr(COMMENTS, *p))
continue;
if (strchr(COMMENTS, *p))
continue;
- if (!(u = normalize_env_assignment(p))) {
- r = log_oom();
-
goto finish
;
- }
+ u = normalize_env_assignment(p);
+ if (!u)
+
return log_oom()
;
+
free(c);
c = NULL;
t = strv_append(m, u);
free(u);
free(c);
c = NULL;
t = strv_append(m, u);
free(u);
- if (!t) {
- r = log_oom();
- goto finish;
- }
+ if (!t)
+ return log_oom();
strv_free(m);
m = t;
}
strv_free(m);
m = t;
}
- r = 0;
-
*rl = m;
m = NULL;
*rl = m;
m = NULL;
-finish:
- if (f)
- fclose(f);
-
- free(c);
-
- strv_free(m);
-
- return r;
+ return 0;
}
int write_env_file(const char *fname, char **l) {
}
int write_env_file(const char *fname, char **l) {