chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
unit-name: fix unit name escaping
[elogind.git]
/
src
/
util.c
diff --git
a/src/util.c
b/src/util.c
index bdc194e80c9ce45bde0975d7ef9c5ab4b4482bfd..ce8695be25f6c3fad0ee1e2b06028278b93db824 100644
(file)
--- a/
src/util.c
+++ b/
src/util.c
@@
-602,7
+602,7
@@
int parse_env_file(
const char *fname,
const char *seperator, ...) {
const char *fname,
const char *seperator, ...) {
- int r;
+ int r
= 0
;
char *contents, *p;
assert(fname);
char *contents, *p;
assert(fname);
@@
-653,10
+653,18
@@
int parse_env_file(
goto fail;
}
goto fail;
}
+ if (v[0] == '\0') {
+ /* return empty value strings as NULL */
+ free(v);
+ v = NULL;
+ }
+
free(*value);
*value = v;
p += n;
free(*value);
*value = v;
p += n;
+
+ r ++;
break;
}
va_end(ap);
break;
}
va_end(ap);
@@
-666,8
+674,6
@@
int parse_env_file(
p += strcspn(p, seperator);
}
p += strcspn(p, seperator);
}
- r = 0;
-
fail:
free(contents);
return r;
fail:
free(contents);
return r;