TT#89352 extend str_to_* to long long width

Change-Id: Ie4c94640f7b59fa6b6cbed1082a6be6c3a1490e5
pull/1346/head
Richard Fuchs 4 years ago
parent 37494da6cc
commit 5838141e80

@ -83,9 +83,9 @@ INLINE int str_str(const str *s, const char *sub);
/* swaps the contents of two str objects */
INLINE void str_swap(str *a, str *b);
/* parses a string into an int, returns default if conversion fails */
INLINE int str_to_i(str *s, int def);
/* parses a string uinto an int, returns default if conversion fails */
INLINE uint str_to_ui(str *s, int def);
INLINE long long str_to_i(str *s, long long def);
/* parses a string into an uint, returns default if conversion fails */
INLINE unsigned long long str_to_ui(str *s, unsigned long long def);
/* extracts the first/next token into "new_token" and modifies "ori_and_remaidner" in place */
INLINE int str_token(str *new_token, str *ori_and_remainder, int sep);
/* same as str_token but allows for a trailing non-empty token (e.g. "foo,bar" -> "foo", "bar" ) */
@ -341,14 +341,14 @@ INLINE void str_swap(str *a, str *b) {
*b = t;
}
INLINE int str_to_i(str *s, int def) {
INLINE long long str_to_i(str *s, long long def) {
char c, *ep;
long ret;
long long ret;
if (s->len <= 0)
return def;
c = s->s[s->len];
s->s[s->len] = '\0';
ret = strtol(s->s, &ep, 10);
ret = strtoll(s->s, &ep, 10);
s->s[s->len] = c;
if (ep == s->s)
return def;
@ -359,14 +359,14 @@ INLINE int str_to_i(str *s, int def) {
return ret;
}
INLINE unsigned int str_to_ui(str *s, int def) {
INLINE unsigned long long str_to_ui(str *s, unsigned long long def) {
char c, *ep;
long ret;
unsigned long long ret;
if (s->len <= 0)
return def;
c = s->s[s->len];
s->s[s->len] = '\0';
ret = strtol(s->s, &ep, 10);
ret = strtoull(s->s, &ep, 10);
s->s[s->len] = c;
if (ep == s->s)
return def;

Loading…
Cancel
Save