From 19f6d710772305610b928bc2678b9d77fe11e770 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 17 Sep 2013 10:03:46 -0500 Subject: specifier: rework specifier calls to return proper error message Previously the specifier calls could only indicate OOM by returning NULL. With this change they will return negative errno-style error codes like everything else. --- src/shared/specifier.h | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'src/shared/specifier.h') diff --git a/src/shared/specifier.h b/src/shared/specifier.h index d13e6406b6..fca206f665 100644 --- a/src/shared/specifier.h +++ b/src/shared/specifier.h @@ -21,7 +21,7 @@ along with systemd; If not, see . ***/ -typedef char* (*SpecifierCallback)(char specifier, void *data, void *userdata); +typedef int (*SpecifierCallback)(char specifier, void *data, void *userdata, char **ret); typedef struct Specifier { const char specifier; @@ -29,11 +29,11 @@ typedef struct Specifier { void *data; } Specifier; -char *specifier_printf(const char *text, const Specifier table[], void *userdata); +int specifier_printf(const char *text, const Specifier table[], void *userdata, char **ret); -char *specifier_string(char specifier, void *data, void *userdata); +int specifier_string(char specifier, void *data, void *userdata, char **ret); -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); -char *specifier_kernel_release(char specifier, void *data, void *userdata); +int specifier_machine_id(char specifier, void *data, void *userdata, char **ret); +int specifier_boot_id(char specifier, void *data, void *userdata, char **ret); +int specifier_host_name(char specifier, void *data, void *userdata, char **ret); +int specifier_kernel_release(char specifier, void *data, void *userdata, char **ret); -- cgit v1.2.3-54-g00ecf