From: Kay Sievers Date: Tue, 28 Sep 2010 21:41:09 +0000 (+0200) Subject: parse_env_file() - return empty value strings like FOO="" as NULL value X-Git-Tag: v11~37 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=dd36de4d520fc77f0e2ea83f560040d36be3ee50 parse_env_file() - return empty value strings like FOO="" as NULL value --- diff --git a/fixme b/fixme index 6b1e86400..4291269b5 100644 --- a/fixme +++ b/fixme @@ -9,8 +9,6 @@ v11: * emergency.service should start default.target after C-d. synchronize from fedora's initscripts package -* drop empty assignments for parse_env_file - * stability promise must say that #ifdef TARGET_XXX style distro compatibility will go away one day * enable tmpfiles by default diff --git a/src/util.c b/src/util.c index 0939ea945..ce8695be2 100644 --- a/src/util.c +++ b/src/util.c @@ -653,6 +653,12 @@ int parse_env_file( goto fail; } + if (v[0] == '\0') { + /* return empty value strings as NULL */ + free(v); + v = NULL; + } + free(*value); *value = v; diff --git a/src/vconsole-setup.c b/src/vconsole-setup.c index 9e5d65da6..7703361e3 100644 --- a/src/vconsole-setup.c +++ b/src/vconsole-setup.c @@ -113,11 +113,11 @@ static int load_font(const char *vc, const char *font, const char *map, const ch args[i++] = "-C"; args[i++] = vc; args[i++] = font; - if (map && map[0] != '\0') { + if (map) { args[i++] = "-m"; args[i++] = map; } - if (unimap && unimap[0] != '\0') { + if (unimap) { args[i++] = "-u"; args[i++] = unimap; }