[Pkg-shadow-commits] r2080 - in upstream/trunk: . src
nekral-guest at alioth.debian.org
nekral-guest at alioth.debian.org
Mon Jun 9 19:26:20 UTC 2008
Author: nekral-guest
Date: 2008-06-09 19:26:19 +0000 (Mon, 09 Jun 2008)
New Revision: 2080
Modified:
upstream/trunk/ChangeLog
upstream/trunk/src/gpasswd.c
Log:
* src/gpasswd.c: Use a bool when possible instead of int integers.
* src/gpasswd.c: Avoid implicit conversion of pointers / integers
/ chars to booleans.
* src/gpasswd.c: Ignore the return value of putchar() and fflush()
before exiting.
* src/gpasswd.c: check_list() renamed is_valid_user_list(), and
return a bool.
* src/gpasswd.c: Ignore return value of setlocale(),
bindtextdomain(), and textdomain().
Modified: upstream/trunk/ChangeLog
===================================================================
--- upstream/trunk/ChangeLog 2008-06-09 19:20:00 UTC (rev 2079)
+++ upstream/trunk/ChangeLog 2008-06-09 19:26:19 UTC (rev 2080)
@@ -1,5 +1,17 @@
2008-06-09 Nicolas François <nicolas.francois at centraliens.net>
+ * src/gpasswd.c: Use a bool when possible instead of int integers.
+ * src/gpasswd.c: Avoid implicit conversion of pointers / integers
+ / chars to booleans.
+ * src/gpasswd.c: Ignore the return value of putchar() and fflush()
+ before exiting.
+ * src/gpasswd.c: check_list() renamed is_valid_user_list(), and
+ return a bool.
+ * src/gpasswd.c: Ignore return value of setlocale(),
+ bindtextdomain(), and textdomain().
+
+2008-06-09 Nicolas François <nicolas.francois at centraliens.net>
+
* src/grpck.c: Use a bool when possible instead of int integers.
* src/grpck.c: Ignore return value of setlocale(),
bindtextdomain(), and textdomain().
Modified: upstream/trunk/src/gpasswd.c
===================================================================
--- upstream/trunk/src/gpasswd.c 2008-06-09 19:20:00 UTC (rev 2079)
+++ upstream/trunk/src/gpasswd.c 2008-06-09 19:26:19 UTC (rev 2080)
@@ -58,14 +58,18 @@
#ifdef SHADOWGRP
/* Indicate if shadow groups are enabled on the system
* (/etc/gshadow present) */
-static int is_shadowgrp;
-static int gshadow_locked = 0;
+static bool is_shadowgrp;
+static bool gshadow_locked = false;
#endif
-static int group_locked = 0;
+static bool group_locked = false;
/* Flags set by options */
-static int
- aflg = 0, Aflg = 0, dflg = 0, Mflg = 0, rflg = 0, Rflg = 0;
+static bool aflg = false;
+static bool Aflg = false;
+static bool dflg = false;
+static bool Mflg = false;
+static bool rflg = false;
+static bool Rflg = false;
/* The name of the group that is being affected */
static char *group = NULL;
/* The name of the user being added (-a) or removed (-d) from group */
@@ -79,7 +83,7 @@
/* The name of the caller */
static char *myname = NULL;
/* The UID of the caller */
-static unsigned long bywho = -1;
+static uid_t bywho;
/* Indicate if gpasswd was called by root */
#define amroot (0 == bywho)
@@ -92,7 +96,7 @@
static void usage (void);
static RETSIGTYPE catch_signals (int killed);
static void fail_exit (int status);
-static int check_list (const char *users);
+static bool is_valid_user_list (const char *users);
static void process_flags (int argc, char **argv);
static void check_flags (int argc, int opt_index);
static void open_files (void);
@@ -138,15 +142,15 @@
{
static TERMIO sgtty;
- if (killed) {
+ if (0 != killed) {
STTY (0, &sgtty);
} else {
GTTY (0, &sgtty);
}
- if (killed) {
- putchar ('\n');
- fflush (stdout);
+ if (0 != killed) {
+ (void) putchar ('\n');
+ (void) fflush (stdout);
fail_exit (killed);
}
}
@@ -169,18 +173,18 @@
}
/*
- * check_list - check a comma-separated list of user names for validity
+ * is_valid_user_list - check a comma-separated list of user names for validity
*
- * check_list scans a comma-separated list of user names and checks
- * that each listed name exists.
+ * is_valid_user_list scans a comma-separated list of user names and
+ * checks that each listed name exists is the user database.
*
- * It returns 0 on success.
+ * It returns true if the list of users is valid.
*/
-static int check_list (const char *users)
+static bool is_valid_user_list (const char *users)
{
const char *start, *end;
char username[32];
- int errors = 0;
+ bool valid = true;
size_t len;
for (start = users; (NULL != start) && ('\0' != *start); start = end) {
@@ -206,10 +210,10 @@
if (getpwnam (username) == NULL) {
fprintf (stderr, _("%s: unknown user %s\n"),
Prog, username);
- errors++;
+ valid = false;
}
}
- return errors;
+ return valid;
}
static void failure (void)
@@ -240,7 +244,7 @@
#endif
fail_exit (1);
}
- aflg++;
+ aflg = true;
break;
#ifdef SHADOWGRP
case 'A':
@@ -260,14 +264,14 @@
fail_exit (2);
}
admins = optarg;
- if (check_list (admins) != 0) {
+ if (!is_valid_user_list (admins)) {
fail_exit (1);
}
- Aflg++;
+ Aflg = true;
break;
#endif
case 'd': /* delete a user */
- dflg++;
+ dflg = true;
user = optarg;
break;
case 'g': /* no-op from normal password */
@@ -282,16 +286,16 @@
failure ();
}
members = optarg;
- if (check_list (members) != 0) {
+ if (!is_valid_user_list (members)) {
fail_exit (1);
}
- Mflg++;
+ Mflg = true;
break;
case 'r': /* remove group password */
- rflg++;
+ rflg = true;
break;
case 'R': /* restrict group password */
- Rflg++;
+ Rflg = true;
break;
default:
usage ();
@@ -309,10 +313,26 @@
*/
static void check_flags (int argc, int opt_index)
{
+ int exclusive = 0;
/*
* Make sure exclusive flags are exclusive
*/
- if (aflg + dflg + rflg + Rflg + (Aflg || Mflg) > 1) {
+ if (aflg) {
+ exclusive++;
+ }
+ if (dflg) {
+ exclusive++;
+ }
+ if (rflg) {
+ exclusive++;
+ }
+ if (Rflg) {
+ exclusive++;
+ }
+ if (Aflg || Mflg) {
+ exclusive++;
+ }
+ if (exclusive > 1) {
usage ();
}
@@ -340,7 +360,7 @@
#endif
fail_exit (1);
}
- group_locked++;
+ group_locked = true;
#ifdef SHADOWGRP
if (is_shadowgrp) {
if (sgr_lock () == 0) {
@@ -353,7 +373,7 @@
#endif
fail_exit (1);
}
- gshadow_locked++;
+ gshadow_locked = true;
}
#endif
if (gr_open (O_RDWR) == 0) {
@@ -409,7 +429,7 @@
if (is_shadowgrp) {
/* TODO: same logging as in open_files & for /etc/group */
sgr_unlock ();
- gshadow_locked--;
+ gshadow_locked = false;
}
#endif
if (gr_unlock () == 0) {
@@ -420,7 +440,7 @@
#endif
exit (1);
}
- group_locked--;
+ group_locked = false;
}
/*
@@ -736,9 +756,9 @@
#endif
sanitize_env ();
- setlocale (LC_ALL, "");
- bindtextdomain (PACKAGE, LOCALEDIR);
- textdomain (PACKAGE);
+ (void) setlocale (LC_ALL, "");
+ (void) bindtextdomain (PACKAGE, LOCALEDIR);
+ (void) textdomain (PACKAGE);
/*
* Make a note of whether or not this command was invoked by root.
@@ -857,18 +877,18 @@
* one, except the routine is different.
*/
if (dflg) {
- int removed = 0;
+ bool removed = false;
printf (_("Removing user %s from group %s\n"), user, group);
if (is_on_list (grent.gr_mem, user)) {
- removed = 1;
+ removed = true;
grent.gr_mem = del_list (grent.gr_mem, user);
}
#ifdef SHADOWGRP
if (is_shadowgrp) {
if (is_on_list (sgent.sg_mem, user)) {
- removed = 1;
+ removed = true;
sgent.sg_mem = del_list (sgent.sg_mem, user);
}
}
More information about the Pkg-shadow-commits
mailing list