Skip to content

Commit

Permalink
Move generic specifier functions to shared
Browse files Browse the repository at this point in the history
No functional change. This makes it possible to use them in install.c.
  • Loading branch information
keszybz committed Jan 30, 2013
1 parent d9e5e69 commit d848b9c
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 37 deletions.
36 changes: 0 additions & 36 deletions src/core/unit-printf.c
Expand Up @@ -211,42 +211,6 @@ static char *specifier_user_shell(char specifier, void *data, void *userdata) {
return strdup(shell);
}

static char *specifier_machine_id(char specifier, void *data, void *userdata) {
sd_id128_t id;
char *buf;
int r;

r = sd_id128_get_machine(&id);
if (r < 0)
return NULL;

buf = new(char, 33);
if (!buf)
return NULL;

return sd_id128_to_string(id, buf);
}

static char *specifier_boot_id(char specifier, void *data, void *userdata) {
sd_id128_t id;
char *buf;
int r;

r = sd_id128_get_boot(&id);
if (r < 0)
return NULL;

buf = new(char, 33);
if (!buf)
return NULL;

return sd_id128_to_string(id, buf);
}

static char *specifier_host_name(char specifier, void *data, void *userdata) {
return gethostname_malloc();
}

char *unit_name_printf(Unit *u, const char* format) {

/*
Expand Down
36 changes: 36 additions & 0 deletions src/shared/specifier.c
Expand Up @@ -109,3 +109,39 @@ char *specifier_printf(const char *text, const Specifier table[], void *userdata
char* specifier_string(char specifier, void *data, void *userdata) {
return strdup(strempty(data));
}

char *specifier_machine_id(char specifier, void *data, void *userdata) {
sd_id128_t id;
char *buf;
int r;

r = sd_id128_get_machine(&id);
if (r < 0)
return NULL;

buf = new(char, 33);
if (!buf)
return NULL;

return sd_id128_to_string(id, buf);
}

char *specifier_boot_id(char specifier, void *data, void *userdata) {
sd_id128_t id;
char *buf;
int r;

r = sd_id128_get_boot(&id);
if (r < 0)
return NULL;

buf = new(char, 33);
if (!buf)
return NULL;

return sd_id128_to_string(id, buf);
}

char *specifier_host_name(char specifier, void *data, void *userdata) {
return gethostname_malloc();
}
6 changes: 5 additions & 1 deletion src/shared/specifier.h
Expand Up @@ -31,4 +31,8 @@ typedef struct Specifier {

char *specifier_printf(const char *text, const Specifier table[], void *userdata);

char* specifier_string(char specifier, void *data, void *userdata);
char *specifier_string(char specifier, void *data, void *userdata);

char *specifier_machine_id(char specifier, void *data, void *userdata);
char *specifier_boot_id(char specifier, void *data, void *userdata);
char *specifier_host_name(char specifier, void *data, void *userdata);

0 comments on commit d848b9c

Please sign in to comment.