]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
chfn: clean up exit status
authorKarel Zak <kzak@redhat.com>
Wed, 12 Dec 2012 09:36:32 +0000 (10:36 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 12 Dec 2012 09:36:32 +0000 (10:36 +0100)
The old version in some cases (but not always) returns -1 (255) on
error. It seems better to cleanup the code and don't return internal
return codes by exit().

Signed-off-by: Karel Zak <kzak@redhat.com>
login-utils/chfn.1
login-utils/chfn.c

index 532940888539a013e26d8503e7558ffae41d3055..5f87ad713d3ba1a433174a1c6c04cbb9cf6caef1 100644 (file)
@@ -72,6 +72,8 @@ Print a usage message and exit.
 .TP
 .B "-v, \-\-version"
 Print version information and exit.
+.SH "EXIT STATUS"
+Returns 0 if operation was successful, 1 if operation failed or command syntax was not valid.
 .SH "SEE ALSO"
 .BR finger (1),
 .BR passwd (5)
index 02014c7cee9805a0d99fad95afed59cfd1909545..a86f380c0b5d84940321ff693874137418d9b90f 100644 (file)
@@ -91,7 +91,6 @@ int main(int argc, char **argv)
        uid_t uid;
        struct finfo oldf, newf;
        int interactive;
-       int status;
 
        sanitize_env();
        setlocale(LC_ALL, "");  /* both for messages and for iscntrl() below */
@@ -196,8 +195,8 @@ int main(int argc, char **argv)
                printf(_("Finger information not changed.\n"));
                return EXIT_SUCCESS;
        }
-       status = save_new_data(&oldf);
-       return status;
+
+       return save_new_data(&oldf) == 0 ? EXIT_SUCCESS : EXIT_FAILURE;
 }
 
 /*
@@ -262,8 +261,8 @@ static int parse_argv(int argc, char *argv[], struct finfo *pinfo)
                default:
                        usage(stderr);
                }
-               if (status < 0)
-                       exit(status);
+               if (status != 0)
+                       exit(EXIT_FAILURE);
        }
        /* done parsing arguments.  check for a username. */
        if (optind < argc) {
@@ -271,7 +270,7 @@ static int parse_argv(int argc, char *argv[], struct finfo *pinfo)
                        usage(stderr);
                pinfo->username = argv[optind];
        }
-       return (!info_given);
+       return !info_given;
 }
 
 /*