}
}
-static AproposProc(as, arock)
+static int AproposProc(as, arock)
char *arock;
register struct cmd_syndesc *as; {
register struct cmd_syndesc *ts;
return 0;
}
-static HelpProc(as, arock)
+static int HelpProc(as, arock)
char *arock;
register struct cmd_syndesc *as; {
register struct cmd_syndesc *ts;
return(code);
}
-cmd_SetBeforeProc(aproc, arock)
+int cmd_SetBeforeProc(aproc, arock)
int (*aproc)();
char *arock; {
beforeProc = aproc;
return 0;
}
-cmd_SetAfterProc(aproc, arock)
+int cmd_SetAfterProc(aproc, arock)
int (*aproc)();
char *arock; {
afterProc = aproc;
}
/* thread on list in alphabetical order */
-static SortSyntax(as)
+static int SortSyntax(as)
struct cmd_syndesc *as; {
register struct cmd_syndesc **ld, *ud;
}
/* add a text item to the end of the parameter list */
-static AddItem(aparm, aval)
+static int AddItem(aparm, aval)
register struct cmd_parmdesc *aparm;
register char *aval; {
register struct cmd_item *ti, *ni;
assert(ti->data);
strcpy(ti->data, aval);
/* now put ti at the *end* of the list */
- if (ni=aparm->items) {
+ if ((ni=aparm->items)) {
for(;ni;ni=ni->next) if (ni->next == 0) break; /* skip to last one */
ni->next = ti;
}
}
/* skip to next non-flag item, if any */
-static AdvanceType(as, aval)
+static int AdvanceType(as, aval)
register afs_int32 aval;
register struct cmd_syndesc *as; {
register afs_int32 next;
}
/* move the expands flag to the last one in the list */
-static SetupExpandsFlag(as)
+static int SetupExpandsFlag(as)
register struct cmd_syndesc *as; {
register struct cmd_parmdesc *tp;
register int last, i;
} /*InsertInitOpcode*/
-static NoParmsOK(as)
+static int NoParmsOK(as)
register struct cmd_syndesc *as; {
register int i;
register struct cmd_parmdesc *td;
}
/* Call the appropriate function, or return syntax error code. Note: if no opcode is specified, an initialization routine exists, and it has NOT been called before, we invoke the special initialization opcode*/
-cmd_Dispatch(argc, argv)
+int cmd_Dispatch(argc, argv)
int argc;
char **argv;
{
}
/* free token list returned by parseLine */
-static FreeTokens(alist)
+static int FreeTokens(alist)
register struct cmd_token *alist; {
register struct cmd_token *nlist;
for(; alist; alist = nlist) {
}
/* free an argv list returned by parseline */
-cmd_FreeArgv(argv)
+int cmd_FreeArgv(argv)
register char **argv; {
register char *tp;
for(tp = *argv; tp; argv++, tp = *argv)
data is still malloc'd, and will be freed when the caller calls cmd_FreeArgv
later on */
#define INITSTR ""
-static CopyBackArgs(alist, argv, an, amaxn)
+static int CopyBackArgs(alist, argv, an, amaxn)
register struct cmd_token *alist;
register char **argv;
afs_int32 amaxn;
return 0;
}
-static quote(x)
+static int quote(x)
register int x; {
if (x == '"' || x == 39 /* single quote */) return 1;
else return 0;
}
-static space(x)
+static int space(x)
register int x; {
if (x == 0 || x == ' ' || x == '\t' || x== '\n') return 1;
else return 0;
}
-cmd_ParseLine(aline, argv, an, amaxn)
+int cmd_ParseLine(aline, argv, an, amaxn)
char **argv;
afs_int32 *an;
afs_int32 amaxn;
char *aline; {
char tbuffer[256];
- register char *tptr;
+ register char *tptr = 0;
int inToken, inQuote;
struct cmd_token *first, *last;
register struct cmd_token *ttok;
if (tc == 0 || (!inQuote && space(tc))) { /* terminating null gets us in here, too */
if (inToken) {
inToken = 0; /* end of this token */
- *tptr++ = 0;
+ if ( !tptr )
+ return -1; /* should never get here */
+ else
+ *tptr++ = 0;
ttok = (struct cmd_token *) malloc(sizeof(struct cmd_token));
assert(ttok);
ttok->next = (struct cmd_token *) 0;