From dd36de4d520fc77f0e2ea83f560040d36be3ee50 Mon Sep 17 00:00:00 2001 From: Kay Sievers Date: Tue, 28 Sep 2010 23:41:09 +0200 Subject: [PATCH] parse_env_file() - return empty value strings like FOO="" as NULL value --- fixme | 2 -- src/util.c | 6 ++++++ src/vconsole-setup.c | 4 ++-- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/fixme b/fixme index 6b1e8640..4291269b 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 0939ea94..ce8695be 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 9e5d65da..7703361e 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; } -- 2.39.5