]> granicus.if.org Git - shadow/commitdiff
* src/lastlog.c: Use EXIT_FAILURE / EXIT_SUCCESS for exit()
authornekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Thu, 23 Apr 2009 11:21:01 +0000 (11:21 +0000)
committernekral-guest <nekral-guest@5a98b0ae-9ef6-0310-add3-de5d479b70d7>
Thu, 23 Apr 2009 11:21:01 +0000 (11:21 +0000)
* src/lastlog.c: Added splint annotations.
* src/lastlog.c: Avoid global pwent.
* src/lastlog.c: Cast ID to ulongs and use ulong formats for IDs.
* src/lastlog.c: Avoid assignment in comparisons.
* src/lastlog.c: Ignore fclose() return value since the file is
only opened for reading.

ChangeLog
src/lastlog.c

index a383a4fda4eb8e1840844e4cf3e3d711403cd28f..afd9522ea23358c233005c0d5d0444fedb5817ce 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>
+
+       * src/lastlog.c: Use EXIT_FAILURE / EXIT_SUCCESS for exit()
+       * src/lastlog.c: Added splint annotations.
+       * src/lastlog.c: Avoid global pwent.
+       * src/lastlog.c: Cast ID to ulongs and use ulong formats for IDs.
+       * src/lastlog.c: Avoid assignment in comparisons.
+       * src/lastlog.c: Ignore fclose() return value since the file is
+       only opened for reading.
+
 2009-04-22  Nicolas François  <nicolas.francois@centraliens.net>
 
        * src/newgrp.c: Added assertion to guide splint (and me).
index a8ef745ba7a32a8a1e93c83422df206e1c4bc491..6203e668e32bdc8c675190dce08ed2844759b6af 100644 (file)
@@ -70,7 +70,6 @@ static struct stat statbuf;   /* fstat buffer for file size */
 static bool uflg = false;      /* print only an user of range of users */
 static bool tflg = false;      /* print is restricted to most recent days */
 static bool bflg = false;      /* print excludes most recent days */
-static struct passwd *pwent;
 
 #define        NOW     (time ((time_t *) 0))
 
@@ -84,10 +83,10 @@ static void usage (void)
                 "  -t, --time DAYS               print only lastlog records more recent than DAYS\n"
                 "  -u, --user LOGIN              print lastlog record of the specified LOGIN\n"
                 "\n"), stderr);
-       exit (1);
+       exit (EXIT_FAILURE);
 }
 
-static void print_one (const struct passwd *pw)
+static void print_one (/*@null@*/const struct passwd *pw)
 {
        static bool once = false;
        char *cp;
@@ -116,9 +115,9 @@ static void print_one (const struct passwd *pw)
                 */
                if (fread ((char *) &ll, sizeof (ll), 1, lastlogfile) != 1) {
                        fprintf (stderr,
-                                _("lastlog: Failed to get the entry for UID %d\n"),
-                                pw->pw_uid);
-                       exit (1);
+                                _("lastlog: Failed to get the entry for UID %lu\n"),
+                                (unsigned long int)pw->pw_uid);
+                       exit (EXIT_FAILURE);
                }
        } else {
                /* Outsize of the lastlog file.
@@ -173,6 +172,7 @@ static void print_one (const struct passwd *pw)
 
 static void print (void)
 {
+       const struct passwd *pwent;
        if (uflg && has_umin && has_umax && (umin == umax)) {
                print_one (getpwuid ((uid_t)umin));
        } else {
@@ -222,6 +222,8 @@ int main (int argc, char **argv)
                                bflg = true;
                                break;
                        case 'u':
+                       {
+                               const struct passwd *pwent;
                                /*
                                 * The user can be:
                                 *  - a login name
@@ -244,10 +246,11 @@ int main (int argc, char **argv)
                                                fprintf (stderr,
                                                         _("lastlog: Unknown user or range: %s\n"),
                                                         optarg);
-                                               exit (1);
+                                               exit (EXIT_FAILURE);
                                        }
                                }
                                break;
+                       }
                        default:
                                usage ();
                                break;
@@ -261,9 +264,10 @@ int main (int argc, char **argv)
                }
        }
 
-       if ((lastlogfile = fopen (LASTLOG_FILE, "r")) == (FILE *) 0) {
+       lastlogfile = fopen (LASTLOG_FILE, "r");
+       if (NULL == lastlogfile) {
                perror (LASTLOG_FILE);
-               exit (1);
+               exit (EXIT_FAILURE);
        }
 
        /* Get the lastlog size */
@@ -271,12 +275,12 @@ int main (int argc, char **argv)
                fprintf (stderr,
                         _("lastlog: Cannot get the size of %s: %s\n"),
                         LASTLOG_FILE, strerror (errno));
-               exit (1);
+               exit (EXIT_FAILURE);
        }
 
        print ();
 
-       fclose (lastlogfile);
-       exit (0);
+       (void) fclose (lastlogfile);
+       exit (EXIT_SUCCESS);
 }