X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fshared%2Finstall-printf.c;h=cbe984d2fba3ec4ea1333ca6b7414f285a432823;hb=9481673651515ab231e64e3c0417b75a804f476e;hp=1ee1243f4d191c63e0acda1be7c06682db04efc3;hpb=19f6d710772305610b928bc2678b9d77fe11e770;p=elogind.git diff --git a/src/shared/install-printf.c b/src/shared/install-printf.c index 1ee1243f4..cbe984d2f 100644 --- a/src/shared/install-printf.c +++ b/src/shared/install-printf.c @@ -19,44 +19,32 @@ along with systemd; If not, see . ***/ -#include #include #include "specifier.h" #include "unit-name.h" #include "util.h" #include "install-printf.h" +#include "formats-util.h" static int specifier_prefix_and_instance(char specifier, void *data, void *userdata, char **ret) { - InstallInfo *i = userdata; - char *n; + UnitFileInstallInfo *i = userdata; assert(i); - n = unit_name_to_prefix_and_instance(i->name); - if (!n) - return -ENOMEM; - - *ret = n; - return 0; + return unit_name_to_prefix_and_instance(i->name, ret); } static int specifier_prefix(char specifier, void *data, void *userdata, char **ret) { - InstallInfo *i = userdata; - char *n; + UnitFileInstallInfo *i = userdata; assert(i); - n = unit_name_to_prefix(i->name); - if (!n) - return -ENOMEM; - - *ret = n; - return 0; + return unit_name_to_prefix(i->name, ret); } static int specifier_instance(char specifier, void *data, void *userdata, char **ret) { - InstallInfo *i = userdata; + UnitFileInstallInfo *i = userdata; char *instance; int r; @@ -77,7 +65,7 @@ static int specifier_instance(char specifier, void *data, void *userdata, char * } static int specifier_user_name(char specifier, void *data, void *userdata, char **ret) { - InstallInfo *i = userdata; + UnitFileInstallInfo *i = userdata; const char *username; _cleanup_free_ char *tmp = NULL; char *printed = NULL; @@ -103,7 +91,7 @@ static int specifier_user_name(char specifier, void *data, void *userdata, char if (r < 0) return r; - if (asprintf(&printed, "%d", uid) < 0) + if (asprintf(&printed, UID_FMT, uid) < 0) return -ENOMEM; break; }} @@ -114,7 +102,7 @@ static int specifier_user_name(char specifier, void *data, void *userdata, char } -int install_full_printf(InstallInfo *i, const char *format, char **ret) { +int install_full_printf(UnitFileInstallInfo *i, const char *format, char **ret) { /* This is similar to unit_full_printf() but does not support * anything path-related.