* libmisc/console.c, libmisc/motd.c, libmisc/setupenv.c,

libmisc/sulog.c, libmisc/hushed.c, libmisc/failure.c,
	libmisc/loginprompt.c, libmisc/ttytype.c,
	libmisc/pam_pass_non_interractive.c, src/userdel.c, src/login.c,
	lib/commonio.c, lib/commonio.h: Fix some const issues.
	* libmisc/motd.c: Avoid multi-statements lines.
	* libmisc/motd.c: Support long MOTD_FILE.
	* libmisc/list.c, lib/prototypes.h: Revert previous change.
	dup_list and is_on_list are used with members as defined for the
	group structure, and thus even if the list is not modified, the
	list elements cannot be constant strings.
	* libmisc/system.c: Avoid C++ comments.
	* src/vipw.c: WITH_TCB cannot be tested inside a gettextized
	string. Split the Usage string.
	* lib/commonio.h: Re-indent.
This commit is contained in:
nekral-guest 2010-08-21 15:32:53 +00:00
parent 6a2f349ec5
commit f7a00a2334
17 changed files with 72 additions and 42 deletions

View File

@ -780,7 +780,8 @@ commonio_sort (struct commonio_db *db, int (*cmp) (const void *, const void *))
/* /*
* Sort entries in db according to order in another. * Sort entries in db according to order in another.
*/ */
int commonio_sort_wrt (struct commonio_db *shadow, struct commonio_db *passwd) int commonio_sort_wrt (struct commonio_db *shadow,
const struct commonio_db *passwd)
{ {
struct commonio_entry *head = NULL, *pw_ptr, *spw_ptr; struct commonio_entry *head = NULL, *pw_ptr, *spw_ptr;
const char *name; const char *name;

View File

@ -151,10 +151,10 @@ extern /*@observer@*/ /*@null@*/const void *commonio_next (struct commonio_db *)
extern int commonio_close (struct commonio_db *); extern int commonio_close (struct commonio_db *);
extern int commonio_unlock (struct commonio_db *); extern int commonio_unlock (struct commonio_db *);
extern void commonio_del_entry (struct commonio_db *, extern void commonio_del_entry (struct commonio_db *,
const struct commonio_entry *); const struct commonio_entry *);
extern int commonio_sort_wrt (struct commonio_db *shadow, extern int commonio_sort_wrt (struct commonio_db *shadow,
struct commonio_db *passwd); const struct commonio_db *passwd);
extern int commonio_sort (struct commonio_db *db, extern int commonio_sort (struct commonio_db *db,
int (*cmp) (const void *, const void *)); int (*cmp) (const void *, const void *));
#endif #endif

View File

@ -214,8 +214,8 @@ extern void setup_limits (const struct passwd *);
/* list.c */ /* list.c */
extern /*@only@*/ /*@out@*/char **add_list (/*@returned@*/ /*@only@*/char **, const char *); extern /*@only@*/ /*@out@*/char **add_list (/*@returned@*/ /*@only@*/char **, const char *);
extern /*@only@*/ /*@out@*/char **del_list (/*@returned@*/ /*@only@*/char **, const char *); extern /*@only@*/ /*@out@*/char **del_list (/*@returned@*/ /*@only@*/char **, const char *);
extern /*@only@*/ /*@out@*/char **dup_list (const char *const *); extern /*@only@*/ /*@out@*/char **dup_list (char *const *);
extern bool is_on_list (const char *const *list, const char *member); extern bool is_on_list (char *const *list, const char *member);
extern /*@only@*/char **comma_to_list (const char *); extern /*@only@*/char **comma_to_list (const char *);
/* log.c */ /* log.c */

View File

@ -50,7 +50,8 @@ static bool is_listed (const char *cfgin, const char *tty, bool def);
static bool is_listed (const char *cfgin, const char *tty, bool def) static bool is_listed (const char *cfgin, const char *tty, bool def)
{ {
FILE *fp; FILE *fp;
char buf[200], *cons, *s; char buf[200], *s;
const char *cons;
/* /*
* If the CONSOLE configuration definition isn't given, * If the CONSOLE configuration definition isn't given,

View File

@ -296,7 +296,7 @@ void failtmp (const char *username,
#endif /* !USE_UTMPX */ #endif /* !USE_UTMPX */
) )
{ {
char *ftmp; const char *ftmp;
int fd; int fd;
/* /*

View File

@ -50,7 +50,7 @@
bool hushed (const char *username) bool hushed (const char *username)
{ {
struct passwd *pw; struct passwd *pw;
char *hushfile; const char *hushfile;
char buf[BUFSIZ]; char buf[BUFSIZ];
bool found; bool found;
FILE *fp; FILE *fp;

View File

@ -141,7 +141,13 @@
return tmp; return tmp;
} }
/*@only@*/ /*@out@*/char **dup_list (const char *const *list) /*
* Duplicate a list.
* The input list is not modified, but in order to allow the use of this
* function with list of members, the list elements are not enforced to be
* constant strings here.
*/
/*@only@*/ /*@out@*/char **dup_list (char *const *list)
{ {
int i; int i;
char **tmp; char **tmp;
@ -163,7 +169,13 @@
return tmp; return tmp;
} }
bool is_on_list (const char *const *list, const char *member) /*
* Check if member is part of the input list
* The input list is not modified, but in order to allow the use of this
* function with list of members, the list elements are not enforced to be
* constant strings here.
*/
bool is_on_list (char *const *list, const char *member)
{ {
assert (NULL != member); assert (NULL != member);
assert (NULL != list); assert (NULL != list);
@ -187,7 +199,7 @@ bool is_on_list (const char *const *list, const char *member)
char *members; char *members;
char **array; char **array;
int i; int i;
const char *cp; char *cp;
char *cp2; char *cp2;
assert (NULL != comma); assert (NULL != comma);

View File

@ -87,9 +87,9 @@ void login_prompt (const char *prompt, char *name, int namesize)
*/ */
if (NULL != prompt) { if (NULL != prompt) {
cp = getdef_str ("ISSUE_FILE"); const char *fname = getdef_str ("ISSUE_FILE");
if (NULL != cp) { if (NULL != fname) {
fp = fopen (cp, "r"); fp = fopen (fname, "r");
if (NULL != fp) { if (NULL != fp) {
while ((i = getc (fp)) != EOF) { while ((i = getc (fp)) != EOF) {
(void) putc (i, stdout); (void) putc (i, stdout);

View File

@ -2,6 +2,7 @@
* Copyright (c) 1989 - 1991, Julianne Frances Haugh * Copyright (c) 1989 - 1991, Julianne Frances Haugh
* Copyright (c) 1996 - 1997, Marek Michałkiewicz * Copyright (c) 1996 - 1997, Marek Michałkiewicz
* Copyright (c) 2003 - 2005, Tomasz Kłoczko * Copyright (c) 2003 - 2005, Tomasz Kłoczko
* Copyright (c) 2010 , Nicolas François
* All rights reserved. * All rights reserved.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -47,21 +48,34 @@
void motd (void) void motd (void)
{ {
FILE *fp; FILE *fp;
char motdlist[BUFSIZ], *motdfile, *mb; char *motdlist;
const char *motdfile;
char *mb;
register int c; register int c;
if ((mb = getdef_str ("MOTD_FILE")) == NULL) motdfile = getdef_str ("MOTD_FILE");
if (NULL == motdfile) {
return; return;
}
strncpy (motdlist, mb, sizeof (motdlist)); motdlist = xstrdup (motdfile);
motdlist[sizeof (motdlist) - 1] = '\0';
for (mb = motdlist; (motdfile = strtok (mb, ":")) != NULL; mb = NULL) { for (mb = motdlist; ;mb = NULL) {
if ((fp = fopen (motdfile, "r")) != NULL) { motdfile = strtok (mb, ":");
while ((c = getc (fp)) != EOF) if (NULL == motdfile) {
break;
}
fp = fopen (motdfile, "r");
if (NULL != fp) {
while ((c = getc (fp)) != EOF) {
putchar (c); putchar (c);
}
fclose (fp); fclose (fp);
} }
} }
fflush (stdout); fflush (stdout);
free (motdlist);
} }

View File

@ -39,7 +39,7 @@
#include <security/pam_appl.h> #include <security/pam_appl.h>
#include "prototypes.h" #include "prototypes.h"
/*@null@*/ /*@only@*/static char *non_interactive_password = NULL; /*@null@*/ /*@only@*/static const char *non_interactive_password = NULL;
static int ni_conv (int num_msg, static int ni_conv (int num_msg,
const struct pam_message **msg, const struct pam_message **msg,
struct pam_response **resp, struct pam_response **resp,

View File

@ -202,7 +202,7 @@ void setup_env (struct passwd *info)
#ifndef USE_PAM #ifndef USE_PAM
char *envf; char *envf;
#endif #endif
char *cp; const char *cp;
/* /*
* Change the current working directory to be the home directory * Change the current working directory to be the home directory

View File

@ -47,7 +47,7 @@
*/ */
void sulog (const char *tty, bool success, const char *oldname, const char *name) void sulog (const char *tty, bool success, const char *oldname, const char *name)
{ {
char *sulog_file; const char *sulog_file;
time_t now; time_t now;
struct tm *tm; struct tm *tm;
FILE *fp; FILE *fp;
@ -62,8 +62,10 @@ void sulog (const char *tty, bool success, const char *oldname, const char *name
"FAILED su for %s by %s",name,oldname)); "FAILED su for %s by %s",name,oldname));
} }
if ((sulog_file = getdef_str ("SULOG_FILE")) == (char *) 0) sulog_file = getdef_str ("SULOG_FILE");
if (NULL == sulog_file) {
return; return;
}
oldgid = getgid (); oldgid = getgid ();
oldmask = umask (077); oldmask = umask (077);

View File

@ -60,9 +60,9 @@ int safe_system (const char *command,
fd = open ("/dev/null", O_RDWR); fd = open ("/dev/null", O_RDWR);
/* Child */ /* Child */
dup2 (fd, 0); // Close Stdin dup2 (fd, 0); /* Close Stdin */
if (ignore_stderr) { if (ignore_stderr) {
dup2 (fd, 2); // Close Stderr dup2 (fd, 2); /* Close Stderr */
} }
execve (command, (char *const *) argv, (char *const *) env); execve (command, (char *const *) argv, (char *const *) env);

View File

@ -45,7 +45,7 @@ void ttytype (const char *line)
{ {
FILE *fp; FILE *fp;
char buf[BUFSIZ]; char buf[BUFSIZ];
char *typefile; const char *typefile;
char *cp; char *cp;
char type[BUFSIZ]; char type[BUFSIZ];
char port[BUFSIZ]; char port[BUFSIZ];

View File

@ -533,7 +533,7 @@ int main (int argc, char **argv)
#endif #endif
int err; int err;
const char *cp; const char *cp;
char *tmp; const char *tmp;
char fromhost[512]; char fromhost[512];
struct passwd *pwd = NULL; struct passwd *pwd = NULL;
char **envp = environ; char **envp = environ;

View File

@ -596,7 +596,7 @@ static void update_user (void)
static void user_cancel (const char *user) static void user_cancel (const char *user)
{ {
char *cmd; const char *cmd;
pid_t pid, wpid; pid_t pid, wpid;
int status; int status;

View File

@ -83,19 +83,19 @@ static void vipwedit (const char *, int (*)(void), int (*)(void));
*/ */
static void usage (int status) static void usage (int status)
{ {
(void) FILE *usageout = (E_SUCCESS != status) ? stderr : stdout;
fputs (_("Usage: vipw [options]\n" (void) fputs (_("Usage: vipw [options]\n"
"\n" "\n"
"Options:\n" "Options:\n"), usageout);
" -g, --group edit group database\n" (void) fputs (_(" -g, --group edit group database\n"), usageout);
" -h, --help display this help message and exit\n" (void) fputs (_(" -h, --help display this help message and exit\n"), usageout);
" -p, --passwd edit passwd database\n" (void) fputs (_(" -p, --passwd edit passwd database\n"), usageout);
" -q, --quiet quiet mode\n" (void) fputs (_(" -q, --quiet quiet mode\n"), usageout);
" -s, --shadow edit shadow or gshadow database\n" (void) fputs (_(" -s, --shadow edit shadow or gshadow database\n"), usageout);
#ifdef WITH_TCB #ifdef WITH_TCB
" -u, --user which user's tcb shadow file to edit\n" (void) fputs (_(" -u, --user which user's tcb shadow file to edit\n"), usageout);
#endif /* WITH_TCB */ #endif /* WITH_TCB */
"\n"), (E_SUCCESS != status) ? stderr : stdout); (void) fputs (_("\n"), usageout);
exit (status); exit (status);
} }