diff options
author | Denis Vlasenko <vda.linux@googlemail.com> | 2006-11-25 14:49:04 +0000 |
---|---|---|
committer | Denis Vlasenko <vda.linux@googlemail.com> | 2006-11-25 14:49:04 +0000 |
commit | 43bddf31e95080abf7232952da9064207636f47b (patch) | |
tree | bcd498d7eb67a83b49f55d881fedc8ff05d89fb5 /include | |
parent | f2408e6c3ff5f9f798bb5553346d9e1657dc9833 (diff) | |
download | busybox-w32-43bddf31e95080abf7232952da9064207636f47b.tar.gz busybox-w32-43bddf31e95080abf7232952da9064207636f47b.tar.bz2 busybox-w32-43bddf31e95080abf7232952da9064207636f47b.zip |
small improvements in str -> num convertors
Diffstat (limited to 'include')
-rw-r--r-- | include/libbb.h | 6 | ||||
-rw-r--r-- | include/xatonum.h | 12 |
2 files changed, 12 insertions, 6 deletions
diff --git a/include/libbb.h b/include/libbb.h index 152fb7e01..5cba27932 100644 --- a/include/libbb.h +++ b/include/libbb.h | |||
@@ -317,17 +317,11 @@ struct suffix_mult { | |||
317 | }; | 317 | }; |
318 | #include "xatonum.h" | 318 | #include "xatonum.h" |
319 | /* Specialized: */ | 319 | /* Specialized: */ |
320 | unsigned xatou_range(const char *numstr, unsigned lower, unsigned upper); | ||
321 | unsigned xatou_sfx(const char *numstr, const struct suffix_mult *suffixes); | ||
322 | unsigned xatou(const char *numstr); | ||
323 | int xatoi_range(const char *numstr, int lower, int upper); | ||
324 | int xatoi(const char *numstr); | ||
325 | /* Using xatoi() instead of naive atoi() is not always convenient - | 320 | /* Using xatoi() instead of naive atoi() is not always convenient - |
326 | * in many places people want *non-negative* values, but store them | 321 | * in many places people want *non-negative* values, but store them |
327 | * in signed int. Therefore we need this one: | 322 | * in signed int. Therefore we need this one: |
328 | * dies if input is not in [0, INT_MAX] range. Also will reject '-0' etc */ | 323 | * dies if input is not in [0, INT_MAX] range. Also will reject '-0' etc */ |
329 | int xatoi_u(const char *numstr); | 324 | int xatoi_u(const char *numstr); |
330 | uint32_t xatou32(const char *numstr); | ||
331 | /* Useful for reading port numbers */ | 325 | /* Useful for reading port numbers */ |
332 | uint16_t xatou16(const char *numstr); | 326 | uint16_t xatou16(const char *numstr); |
333 | 327 | ||
diff --git a/include/xatonum.h b/include/xatonum.h index cdb5e7393..46e49b0eb 100644 --- a/include/xatonum.h +++ b/include/xatonum.h | |||
@@ -92,3 +92,15 @@ DEFINE_EQUIV_STR_CONV(int, i, l, u, ul) | |||
92 | #else | 92 | #else |
93 | DECLARE_STR_CONV(int, i, u) | 93 | DECLARE_STR_CONV(int, i, u) |
94 | #endif | 94 | #endif |
95 | |||
96 | /* Specialized */ | ||
97 | |||
98 | int BUG_xatou32_unimplemented(void); | ||
99 | extern inline uint32_t xatou32(const char *numstr) | ||
100 | { | ||
101 | if (UINT_MAX == 0xffffffff) | ||
102 | return xatou(numstr); | ||
103 | if (ULONG_MAX == 0xffffffff) | ||
104 | return xatoul(numstr); | ||
105 | return BUG_xatou32_unimplemented(); | ||
106 | } | ||