diff options
author | Alan Coopersmith <alan.coopersmith@oracle.com> | 2014-05-31 16:15:19 -0700 |
---|---|---|
committer | Alan Coopersmith <alan.coopersmith@oracle.com> | 2014-05-31 16:17:53 -0700 |
commit | 2222cab2a3cc2615e7a3f2ec8665fdfcabc0436c (patch) | |
tree | 25bb7b93bcc5dd6e3c2c4d24123b4c2545a3931b | |
parent | 2e692217544b8712d7bb41776cfd7f1bcca1070b (diff) | |
download | iceauth-2222cab2a3cc2615e7a3f2ec8665fdfcabc0436c.tar.gz |
More constification cleanup
Started by fixing gcc warning:
iceauth.c:47:1: warning: initialization discards ‘const’ qualifier from
pointer target type [enabled by default]
static char *defcmds[] = { "source", "-", NULL }; /* default command */
^
and chasing down the rabbit hole of the functions the command line
arguments can be passed through, until we came out the other side
const clean.
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
-rw-r--r-- | iceauth.c | 6 | ||||
-rw-r--r-- | iceauth.h | 2 | ||||
-rw-r--r-- | process.c | 73 |
3 files changed, 41 insertions, 40 deletions
@@ -44,7 +44,7 @@ Bool break_locks = False; /* for error recovery */ */ static char *authfilename = NULL; /* filename of cookie file */ -static char *defcmds[] = { "source", "-", NULL }; /* default command */ +static const char *defcmds[] = { "source", "-", NULL }; /* default command */ static int ndefcmds = 2; static const char *defsource = "(stdin)"; @@ -87,7 +87,7 @@ main (int argc, char *argv[]) { int i; const char *sourcename = defsource; - char **arglist = defcmds; + const char **arglist = defcmds; int nargs = ndefcmds; int status; @@ -135,7 +135,7 @@ main (int argc, char *argv[]) } else { sourcename = "(argv)"; nargs = argc - i; - arglist = argv + i; + arglist = (const char **) argv + i; if (verbose == -1) verbose = 0; break; } @@ -47,7 +47,7 @@ extern const char *ProgramName; extern int auth_initialize ( char *authfilename ); extern int auth_finalize ( void ); -extern int process_command ( const char *inputfilename, int lineno, int argc, char **argv ); +extern int process_command ( const char *inputfilename, int lineno, int argc, const char **argv ); extern int print_help ( FILE *fp, const char *cmd ); extern int verbose; @@ -47,7 +47,7 @@ typedef struct _AuthList { /* linked list of entries */ #define add_to_list(h,t,e) {if (t) (t)->next = (e); else (h) = (e); (t) = (e);} -typedef int (*ProcessFunc)(const char *, int, int, char **); +typedef int (*ProcessFunc)(const char *, int, int, const char **); typedef int (*DoFunc)(const char *, int, IceAuthFileEntry *, void *); typedef struct _CommandTable { /* commands that are understood */ @@ -88,7 +88,7 @@ static char **split_into_words ( char *src, int *argcp ); static FILE *open_file ( const char **filenamep, const char *mode, Bool *usedstdp, const char *srcfn, int srcln, const char *cmd ); static int read_auth_entries ( FILE *fp, AuthList **headp, AuthList **tailp ); static int cvthexkey ( const char *hexstr, char **ptrp ); -static int dispatch_command ( const char *inputfilename, int lineno, int argc, char **argv, const CommandTable *tab, int *statusp ); +static int dispatch_command ( const char *inputfilename, int lineno, int argc, const char **argv, const CommandTable *tab, int *statusp ); static void die ( int sig ) _X_NORETURN; static void catchsig ( int sig ) _X_NORETURN; static void register_signals ( void ); @@ -98,19 +98,19 @@ static int dump_entry ( const char *inputfilename, int lineno, IceAuthFileEntry static int extract_entry ( const char *inputfilename, int lineno, IceAuthFileEntry *auth, void *data ); static int match_auth ( IceAuthFileEntry *a, IceAuthFileEntry *b, int *authDataSame ); static int merge_entries ( AuthList **firstp, AuthList *second, int *nnewp, int *nreplp, int *ndupp ); -static int search_and_do ( const char *inputfilename, int lineno, int start, int argc, char *argv[], DoFunc do_func, void *data ); +static int search_and_do ( const char *inputfilename, int lineno, int start, int argc, const char *argv[], DoFunc do_func, void *data ); static int remove_entry ( const char *inputfilename, int lineno, IceAuthFileEntry *auth, void *data ); -static int do_help ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_questionmark ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_list ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_merge ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_extract ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_add ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_remove ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_info ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_exit ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_quit ( const char *inputfilename, int lineno, int argc, char **argv ); -static int do_source ( const char *inputfilename, int lineno, int argc, char **argv ); +static int do_help ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_questionmark ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_list ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_merge ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_extract ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_add ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_remove ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_info ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_exit ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_quit ( const char *inputfilename, int lineno, int argc, const char **argv ); +static int do_source ( const char *inputfilename, int lineno, int argc, const char **argv ); static const CommandTable command_table[] = { /* table of known commands */ { "add", 2, 3, do_add, @@ -443,7 +443,7 @@ static int dispatch_command ( const char *inputfilename, int lineno, int argc, - char **argv, + const char **argv, const CommandTable *tab, int *statusp) { @@ -714,7 +714,7 @@ int process_command ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { int status; @@ -924,7 +924,7 @@ static int search_and_do ( int lineno, int start, int argc, - char *argv[], + const char *argv[], DoFunc do_func, void *data) { @@ -932,7 +932,7 @@ static int search_and_do ( int status = 0; int errors = 0; AuthList *l, *next; - char *protoname, *protodata, *netid, *authname; + const char *protoname, *protodata, *netid, *authname; for (l = iceauth_head; l; l = next) { @@ -1044,9 +1044,9 @@ static int do_help ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { - char *cmd = (argc > 1 ? argv[1] : NULL); + const char *cmd = (argc > 1 ? argv[1] : NULL); int n; n = print_help (stdout, cmd); @@ -1078,7 +1078,7 @@ static int do_questionmark ( const char *inputfilename _X_UNUSED, int lineno _X_UNUSED, int argc _X_UNUSED, - char **argv _X_UNUSED) + const char **argv _X_UNUSED) { const CommandTable *ct; unsigned int i; @@ -1116,7 +1116,7 @@ static int do_list ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { struct _list_data ld; @@ -1146,7 +1146,7 @@ static int do_merge ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { int i; int errors = 0; @@ -1210,7 +1210,7 @@ static int do_extract ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { int errors; struct _extract_data ed; @@ -1254,15 +1254,15 @@ static int do_add ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { int n, nnew, nrepl, ndup; - char *protoname; - char *protodata_hex; + const char *protoname; + const char *protodata_hex; char *protodata = NULL; /* not required */ - char *netid; - char *authname; - char *authdata_hex; + const char *netid; + const char *authname; + const char *authdata_hex; char *authdata = NULL; int protodata_len, authdata_len; IceAuthFileEntry *auth = NULL; @@ -1436,7 +1436,7 @@ static int do_remove ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { int nremoved = 0; int errors; @@ -1460,7 +1460,7 @@ static int do_info ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { int n; AuthList *l; @@ -1495,7 +1495,7 @@ static int do_exit ( const char *inputfilename _X_UNUSED, int lineno _X_UNUSED, int argc _X_UNUSED, - char **argv _X_UNUSED) + const char **argv _X_UNUSED) { /* allow bogus stuff */ alldone = True; @@ -1510,7 +1510,7 @@ static int do_quit ( const char *inputfilename _X_UNUSED, int lineno _X_UNUSED, int argc _X_UNUSED, - char **argv _X_UNUSED) + const char **argv _X_UNUSED) { /* allow bogus stuff */ die (0); @@ -1526,7 +1526,7 @@ static int do_source ( const char *inputfilename, int lineno, int argc, - char **argv) + const char **argv) { const char *script; char buf[BUFSIZ]; @@ -1573,7 +1573,8 @@ static int do_source ( buf[--len] = '\0'; /* remove new line */ subargv = split_into_words (buf, &subargc); if (subargv) { - status = process_command (script, sublineno, subargc, subargv); + status = process_command (script, sublineno, subargc, + (const char **) subargv); free ((char *) subargv); errors += status; } else { |