From 17bb62501787c56e0518e61db13a523d47afd724 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Tue, 13 Mar 2018 10:21:09 -0400 Subject: 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 --- src/common/string.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/common/string.c') 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; +} -- cgit v1.2.3