Mark the structure fields as const.

This allows us to simply place these strings as constants in the table
itself, letting the compiler decide to simply merge duplicate strings.
This commit is contained in:
Ed Schouten 2011-11-06 17:20:44 +00:00
parent ee47d09921
commit ac75fa8849
2 changed files with 14 additions and 17 deletions

View File

@ -48,7 +48,7 @@ typedef struct _entry {
int (*func)(char *, struct passwd *, struct _entry *);
int restricted;
size_t len;
char *except, *save;
const char *except, *save;
} ENTRY;
/* Field numbers. */

View File

@ -39,27 +39,24 @@ __FBSDID("$FreeBSD$");
#include <stddef.h>
#include "chpass.h"
char e1[] = ": ";
char e2[] = ":,";
ENTRY list[] = {
{ "login", p_login, 1, 5, e1, NULL },
{ "password", p_passwd, 1, 8, e1, NULL },
{ "uid", p_uid, 1, 3, e1, NULL },
{ "gid", p_gid, 1, 3, e1, NULL },
{ "class", p_class, 1, 5, e1, NULL },
{ "login", p_login, 1, 5, ": ", NULL },
{ "password", p_passwd, 1, 8, ": ", NULL },
{ "uid", p_uid, 1, 3, ": ", NULL },
{ "gid", p_gid, 1, 3, ": ", NULL },
{ "class", p_class, 1, 5, ": ", NULL },
{ "change", p_change, 1, 6, NULL, NULL },
{ "expire", p_expire, 1, 6, NULL, NULL },
#ifdef RESTRICT_FULLNAME_CHANGE /* do not allow fullname changes */
{ "full name", p_gecos, 1, 9, e2, NULL },
{ "full name", p_gecos, 1, 9, ":,", NULL },
#else
{ "full name", p_gecos, 0, 9, e2, NULL },
{ "full name", p_gecos, 0, 9, ":,", NULL },
#endif
{ "office phone", p_gecos, 0, 12, e2, NULL },
{ "home phone", p_gecos, 0, 10, e2, NULL },
{ "office location", p_gecos, 0, 15, e2, NULL },
{ "other information", p_gecos, 0, 11, e1, NULL },
{ "home directory", p_hdir, 1, 14, e1, NULL },
{ "shell", p_shell, 0, 5, e1, NULL },
{ "office phone", p_gecos, 0, 12, ":,", NULL },
{ "home phone", p_gecos, 0, 10, ":,", NULL },
{ "office location", p_gecos, 0, 15, ":,", NULL },
{ "other information", p_gecos, 0, 11, ": ", NULL },
{ "home directory", p_hdir, 1, 14, ": ", NULL },
{ "shell", p_shell, 0, 5, ": ", NULL },
{ NULL, NULL, 0, 0, NULL, NULL },
};