diff options
author | Lennart Poettering <lennart@poettering.net> | 2018-03-21 22:27:19 +0100 |
---|---|---|
committer | Sven Eden <yamakuzure@gmx.net> | 2018-08-24 16:47:08 +0200 |
commit | aa2274178348d0b08933595244ac6de0cf6e284c (patch) | |
tree | bad1baa7329950ff7b8c4f2bf18acb5fb441d4cd /src/basic/parse-util.h | |
parent | f2e5755be31573b10852c9e8bd97a9881e925758 (diff) |
parse-util: introduce safe_atou16_full()
safe_atou16_full() is like safe_atou16() but also takes a base
parameter. safe_atou16() is then implemented as inline function on top
of it, passing 0 as base. Similar safe_atoux16() is reworked as inline
function too, with 16 as base.
Diffstat (limited to 'src/basic/parse-util.h')
-rw-r--r-- | src/basic/parse-util.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/basic/parse-util.h b/src/basic/parse-util.h index 50d380462..13b928c84 100644 --- a/src/basic/parse-util.h +++ b/src/basic/parse-util.h @@ -53,10 +53,17 @@ int safe_atolli(const char *s, long long int *ret_i); int safe_atou8(const char *s, uint8_t *ret); -int safe_atou16(const char *s, uint16_t *ret); -int safe_atoi16(const char *s, int16_t *ret); +int safe_atou16_full(const char *s, unsigned base, uint16_t *ret); + +static inline int safe_atou16(const char *s, uint16_t *ret) { + return safe_atou16_full(s, 0, ret); +} -int safe_atoux16(const char *s, uint16_t *ret); +static inline int safe_atoux16(const char *s, uint16_t *ret) { + return safe_atou16_full(s, 16, ret); +} + +int safe_atoi16(const char *s, int16_t *ret); static inline int safe_atou32(const char *s, uint32_t *ret_u) { assert_cc(sizeof(uint32_t) == sizeof(unsigned)); |