diff options
author | Lennart Poettering <lennart@poettering.net> | 2010-04-24 03:11:01 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2010-04-24 03:11:01 +0200 |
commit | 932921b5c247f5de09f0e20208534f354f9c0fef (patch) | |
tree | 35e2cc1a2300d543e368d7db1f38cce49760a421 | |
parent | 5f484be061ab01e613b742fb6db9ba1a71ab0d28 (diff) |
load-fragment: replace % specifiers in descriptions
-rw-r--r-- | load-fragment.c | 37 |
1 files changed, 35 insertions, 2 deletions
diff --git a/load-fragment.c b/load-fragment.c index f7d5382a73..b5efbb25e0 100644 --- a/load-fragment.c +++ b/load-fragment.c @@ -150,6 +150,38 @@ static int config_parse_names( return 0; } +static int config_parse_description( + const char *filename, + unsigned line, + const char *section, + const char *lvalue, + const char *rvalue, + void *data, + void *userdata) { + + Unit *u = userdata; + char *k; + + assert(filename); + assert(lvalue); + assert(rvalue); + assert(data); + + if (!(k = unit_full_printf(u, rvalue))) + return -ENOMEM; + + free(u->meta.description); + + if (*k) + u->meta.description = k; + else { + free(k); + u->meta.description = NULL; + } + + return 0; +} + static int config_parse_listen( const char *filename, unsigned line, @@ -1097,7 +1129,8 @@ static void dump_items(FILE *f, const ConfigItem *items) { { config_parse_bindtodevice, "NETWORKINTERFACE" }, { config_parse_usec, "SECONDS" }, { config_parse_path_strv, "PATH [...]" }, - { config_parse_mount_flags, "MOUNTFLAG [...]" } + { config_parse_mount_flags, "MOUNTFLAG [...]" }, + { config_parse_description, "DESCRIPTION" }, }; assert(f); @@ -1192,7 +1225,7 @@ static int load_from_path(Unit *u, const char *path) { const ConfigItem items[] = { { "Names", config_parse_names, u, "Unit" }, - { "Description", config_parse_string, &u->meta.description, "Unit" }, + { "Description", config_parse_description, u, "Unit" }, { "Requires", config_parse_deps, UINT_TO_PTR(UNIT_REQUIRES), "Unit" }, { "RequiresOverridable", config_parse_deps, UINT_TO_PTR(UNIT_REQUIRES_OVERRIDABLE), "Unit" }, { "Requisite", config_parse_deps, UINT_TO_PTR(UNIT_REQUISITE), "Unit" }, |