diff --git a/src/pulsecore/modargs.c b/src/pulsecore/modargs.c index a707f6c8de3741de79806df33b5aa5482214f083..cda2bbc847502ca7bec63e881f458d1871f92d4c 100644 --- a/src/pulsecore/modargs.c +++ b/src/pulsecore/modargs.c @@ -342,6 +342,22 @@ int pa_modargs_get_value_s32(pa_modargs *ma, const char *key, int32_t *value) { return 0; } +int pa_modargs_get_value_u64(pa_modargs *ma, const char *key, uint64_t *value) { + const char *v; + + pa_assert(value); + + if (!(v = pa_modargs_get_value(ma, key, NULL))) { + return 0; + } + + if (pa_atou64(v, value) < 0) { + return -1; + } + + return 0; +} + int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, bool *value) { const char *v; int r; diff --git a/src/pulsecore/modargs.h b/src/pulsecore/modargs.h index abb16747de10032ac654289c9841b4cbb4c1bc50..416f346b9cd4d868b80d99fb53db305ecc900c77 100644 --- a/src/pulsecore/modargs.h +++ b/src/pulsecore/modargs.h @@ -46,6 +46,7 @@ const char *pa_modargs_get_value(pa_modargs *ma, const char *key, const char *de * was not specified, *value remains unchanged. */ int pa_modargs_get_value_u32(pa_modargs *ma, const char *key, uint32_t *value); int pa_modargs_get_value_s32(pa_modargs *ma, const char *key, int32_t *value); +int pa_modargs_get_value_u64(pa_modargs *ma, const char *key, uint64_t *value); int pa_modargs_get_value_boolean(pa_modargs *ma, const char *key, bool *value); /* Return a module argument as double value in *value. If the argument was not