]> git.ipfire.org Git - thirdparty/shadow.git/commitdiff
lib/, src/: getrange(): Use the usual -1 as an error code
authorAlejandro Colomar <alx@kernel.org>
Fri, 1 Dec 2023 22:10:06 +0000 (23:10 +0100)
committerSerge Hallyn <serge@hallyn.com>
Fri, 5 Jan 2024 22:54:55 +0000 (16:54 -0600)
Signed-off-by: Alejandro Colomar <alx@kernel.org>
lib/getrange.c
src/faillog.c
src/lastlog.c

index 40c2f32c36c9ec6fcb847d4c1e109e84e3d71473..44d2ffbd74f6da99839112712b82f48646ea78e7 100644 (file)
@@ -4,6 +4,7 @@
  * SPDX-License-Identifier: BSD-3-Clause
  */
 
+
 #include <config.h>
 
 #ident "$Id: $"
@@ -14,6 +15,7 @@
 #include "defines.h"
 #include "prototypes.h"
 
+
 /*
  * Parse a range and indicate if the range is valid.
  * Valid ranges are in the form:
  *     -<long>         -> max=long            !has_min  has_max
  *     <long>-         -> min=long             has_min !has_max
  *     <long1>-<long2> -> min=long1 max=long2  has_min  has_max
- *
- * If the range is valid, getrange returns 1.
- * If the range is not valid, getrange returns 0.
  */
-int getrange (const char *range,
-              unsigned long *min, bool *has_min,
-              unsigned long *max, bool *has_max)
+int
+getrange(const char *range,
+         unsigned long *min, bool *has_min,
+         unsigned long *max, bool *has_max)
 {
        char *endptr;
        unsigned long n;
 
-       if (NULL == range) {
-               return 0;
-       }
+       if (NULL == range)
+               return -1;
 
        if ('-' == range[0]) {
-               if (!isdigit(range[1])) {
-                       /* invalid */
-                       return 0;
-               }
+               if (!isdigit(range[1]))
+                       return -1;
+
                errno = 0;
                n = strtoul(&range[1], &endptr, 10);
-               if (('\0' != *endptr) || (0 != errno)) {
-                       /* invalid */
-                       return 0;
-               }
+               if (('\0' != *endptr) || (0 != errno))
+                       return -1;
+
                /* -<long> */
                *has_min = false;
                *has_max = true;
@@ -54,10 +51,9 @@ int getrange (const char *range,
        } else {
                errno = 0;
                n = strtoul(range, &endptr, 10);
-               if (endptr == range || 0 != errno) {
-                       /* invalid */
-                       return 0;
-               }
+               if (endptr == range || 0 != errno)
+                       return -1;
+
                switch (*endptr) {
                case '\0':
                        /* <long> */
@@ -74,28 +70,24 @@ int getrange (const char *range,
                                *has_max = false;
                                *min = n;
                        } else if (!isdigit (*endptr)) {
-                               /* invalid */
-                               return 0;
+                               return -1;
                        } else {
                                *has_min = true;
                                *min = n;
                                errno = 0;
                                n = strtoul(endptr, &endptr, 10);
-                               if (   ('\0' != *endptr)
-                                   || (0 != errno)) {
-                                       /* invalid */
-                                       return 0;
-                               }
+                               if ('\0' != *endptr || 0 != errno)
+                                       return -1;
+
                                /* <long>-<long> */
                                *has_max = true;
                                *max = n;
                        }
                        break;
                default:
-                       return 0;
+                       return -1;
                }
        }
 
-       return 1;
+       return 0;
 }
-
index 83439505ff79d4f831e1e34a560c7136e11c5342..9a920d3c6eacf6305be332b9d5e26316e406c18b 100644 (file)
@@ -605,9 +605,9 @@ int main (int argc, char **argv)
                                        umax = umin;
                                        has_umax = true;
                                } else {
-                                       if (getrange (optarg,
-                                                     &umin, &has_umin,
-                                                     &umax, &has_umax) == 0) {
+                                       if (getrange(optarg,
+                                                    &umin, &has_umin,
+                                                    &umax, &has_umax) == -1) {
                                                fprintf (stderr,
                                                         _("%s: Unknown user or range: %s\n"),
                                                         Prog, optarg);
index e6f38ea76dadcd6346e64d41e3011681e4738407..5090a33d0eae6b77c127298ed829a77b18d082e4 100644 (file)
@@ -381,9 +381,9 @@ int main (int argc, char **argv)
                                        umax = umin;
                                        has_umax = true;
                                } else {
-                                       if (getrange (optarg,
-                                                     &umin, &has_umin,
-                                                     &umax, &has_umax) == 0) {
+                                       if (getrange(optarg,
+                                                    &umin, &has_umin,
+                                                    &umax, &has_umax) == -1) {
                                                fprintf (stderr,
                                                         _("%s: Unknown user or range: %s\n"),
                                                         Prog, optarg);