diff options
author | Peter Eisentraut <peter_e@gmx.net> | 2018-03-13 10:21:09 -0400 |
---|---|---|
committer | Peter Eisentraut <peter_e@gmx.net> | 2018-03-13 10:21:09 -0400 |
commit | 17bb62501787c56e0518e61db13a523d47afd724 (patch) | |
tree | fa577a267aac27c99f34b4fef859df43b3362e8e /src/common/string.c | |
parent | 6cf86f435472b27bbc5e22c713bca08aa2d94af7 (diff) | |
download | postgresql-17bb62501787c56e0518e61db13a523d47afd724.tar.gz postgresql-17bb62501787c56e0518e61db13a523d47afd724.zip |
Move strtoint() to common
Several places used similar code to convert a string to an int, so take
the function that we already had and make it globally available.
Reviewed-by: Michael Paquier <michael@paquier.xyz>
Diffstat (limited to 'src/common/string.c')
-rw-r--r-- | src/common/string.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/common/string.c b/src/common/string.c index 0e3557076a1..a45e9b88580 100644 --- a/src/common/string.c +++ b/src/common/string.c @@ -41,3 +41,18 @@ pg_str_endswith(const char *str, const char *end) str += slen - elen; return strcmp(str, end) == 0; } + + +/* + * strtoint --- just like strtol, but returns int not long + */ +int +strtoint(const char *restrict str, char **restrict endptr, int base) +{ + long val; + + val = strtol(str, endptr, base); + if (val != (int) val) + errno = ERANGE; + return (int) val; +} |