diff --git a/src/shared/specifier.c b/src/shared/specifier.c index a49b16b736..d54ab9f5a9 100644 --- a/src/shared/specifier.c +++ b/src/shared/specifier.c @@ -175,6 +175,12 @@ int specifier_uuid(char specifier, const void *data, const char *root, const voi return 0; } +int specifier_uint64(char specifier, const void *data, const char *root, const void *userdata, char **ret) { + const uint64_t *n = ASSERT_PTR(data); + + return asprintf(ret, "%" PRIu64, *n) < 0 ? -ENOMEM : 0; +} + int specifier_machine_id(char specifier, const void *data, const char *root, const void *userdata, char **ret) { sd_id128_t id; int r; diff --git a/src/shared/specifier.h b/src/shared/specifier.h index a245e546e0..df72bdc39b 100644 --- a/src/shared/specifier.h +++ b/src/shared/specifier.h @@ -18,6 +18,7 @@ int specifier_real_path(char specifier, const void *data, const char *root, cons int specifier_real_directory(char specifier, const void *data, const char *root, const void *userdata, char **ret); int specifier_id128(char specifier, const void *data, const char *root, const void *userdata, char **ret); int specifier_uuid(char specifier, const void *data, const char *root, const void *userdata, char **ret); +int specifier_uint64(char specifier, const void *data, const char *root, const void *userdata, char **ret); int specifier_machine_id(char specifier, const void *data, const char *root, const void *userdata, char **ret); int specifier_boot_id(char specifier, const void *data, const char *root, const void *userdata, char **ret);