diff options
author | Alejandro Colomar <alx@kernel.org> | 2024-04-15 11:52:43 +0200 |
---|---|---|
committer | Serge Hallyn <serge@hallyn.com> | 2024-05-04 17:22:57 -0500 |
commit | bbb2735cc042e3ef5e4c9febc4965cdecd991f55 (patch) | |
tree | 8b444c6dd7a51c5092db59ae8deda4adac9b318c | |
parent | d7ab811a366b2969f687b88130deb0039604d5ce (diff) |
lib/getrange.c: getrange(): Return early to reduce indentation
Signed-off-by: Alejandro Colomar <alx@kernel.org>
-rw-r--r-- | lib/getrange.c | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/lib/getrange.c b/lib/getrange.c index 389f9042..0410cb81 100644 --- a/lib/getrange.c +++ b/lib/getrange.c @@ -48,38 +48,38 @@ getrange(const char *range, return -1; *has_max = true; - /* -<long> */ - } else { - errno = 0; - *min = strtoul_noneg(range, &endptr, 10); - if (endptr == range || 0 != errno) + return 0; /* -<long> */ + } + + errno = 0; + *min = strtoul_noneg(range, &endptr, 10); + if (endptr == range || 0 != errno) + return -1; + *has_min = true; + + switch (*endptr) { + case '\0': + /* <long> */ + *has_max = true; + *max = *min; + break; + case '-': + endptr++; + if ('\0' == *endptr) + return 0; /* <long>- */ + if (!isdigit(*endptr)) return -1; - *has_min = true; - - switch (*endptr) { - case '\0': - /* <long> */ - *has_max = true; - *max = *min; - break; - case '-': - endptr++; - if ('\0' == *endptr) - return 0; /* <long>- */ - if (!isdigit(*endptr)) - return -1; - - errno = 0; - *max = strtoul_noneg(endptr, &endptr, 10); - if ('\0' != *endptr || 0 != errno) - return -1; - *has_max = true; - - /* <long>-<long> */ - break; - default: + + errno = 0; + *max = strtoul_noneg(endptr, &endptr, 10); + if ('\0' != *endptr || 0 != errno) return -1; - } + *has_max = true; + + /* <long>-<long> */ + break; + default: + return -1; } return 0; |