X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;ds=sidebyside;f=src%2Fshared%2Finstall-printf.c;h=cbe984d2fba3ec4ea1333ca6b7414f285a432823;hb=b733fbe7a0214eb43e402db7179697bf9c0975c1;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.