sh: Constify various strings.
Most of this is adding const keywords, but setvar() in var.c had to be changed somewhat more.
This commit is contained in:
parent
b4c170e1f5
commit
2cac6e364a
@ -52,13 +52,13 @@ __FBSDID("$FreeBSD$");
|
||||
STATIC struct alias *atab[ATABSIZE];
|
||||
STATIC int aliases;
|
||||
|
||||
STATIC void setalias(char *, char *);
|
||||
STATIC void setalias(const char *, const char *);
|
||||
STATIC int unalias(const char *);
|
||||
STATIC struct alias **hashalias(const char *);
|
||||
|
||||
STATIC
|
||||
void
|
||||
setalias(char *name, char *val)
|
||||
setalias(const char *name, const char *val)
|
||||
{
|
||||
struct alias *ap, **app;
|
||||
|
||||
@ -176,7 +176,7 @@ rmaliases(void)
|
||||
}
|
||||
|
||||
struct alias *
|
||||
lookupalias(char *name, int check)
|
||||
lookupalias(const char *name, int check)
|
||||
{
|
||||
struct alias *ap = *hashalias(name);
|
||||
|
||||
|
@ -42,7 +42,7 @@ struct alias {
|
||||
int flag;
|
||||
};
|
||||
|
||||
struct alias *lookupalias(char *, int);
|
||||
struct alias *lookupalias(const char *, int);
|
||||
int aliascmd(int, char **);
|
||||
int unaliascmd(int, char **);
|
||||
void rmaliases(void);
|
||||
|
@ -34,8 +34,8 @@
|
||||
|
||||
#define DIGITS(var) (3 + (2 + CHAR_BIT * sizeof((var))) / 3)
|
||||
|
||||
extern char *arith_buf, *arith_startbuf;
|
||||
extern const char *arith_buf, *arith_startbuf;
|
||||
|
||||
arith_t arith(char *);
|
||||
arith_t arith(const char *);
|
||||
void arith_lex_reset(void);
|
||||
int expcmd(int, char **);
|
||||
|
@ -265,7 +265,7 @@ expr:
|
||||
#define YYPARSE_PARAM_TYPE arith_t *
|
||||
#define YYPARSE_PARAM result
|
||||
|
||||
char *arith_buf, *arith_startbuf;
|
||||
const char *arith_buf, *arith_startbuf;
|
||||
|
||||
int yylex(void);
|
||||
int yyparse(YYPARSE_PARAM_TYPE);
|
||||
@ -284,7 +284,7 @@ arith_assign(char *name, arith_t value)
|
||||
}
|
||||
|
||||
arith_t
|
||||
arith(char *s)
|
||||
arith(const char *s)
|
||||
{
|
||||
arith_t result;
|
||||
|
||||
@ -299,7 +299,7 @@ arith(char *s)
|
||||
}
|
||||
|
||||
static void
|
||||
yyerror(char *s)
|
||||
yyerror(const char *s)
|
||||
{
|
||||
|
||||
yyerrok;
|
||||
@ -354,7 +354,7 @@ main(int argc, char *argv[])
|
||||
printf("%d\n", exp(argv[1]));
|
||||
}
|
||||
|
||||
error(char *s)
|
||||
error(const char *s)
|
||||
{
|
||||
fprintf(stderr, "exp: %s\n", s);
|
||||
exit(1);
|
||||
|
@ -80,7 +80,7 @@ int
|
||||
cdcmd(int argc, char **argv)
|
||||
{
|
||||
char *dest;
|
||||
char *path;
|
||||
const char *path;
|
||||
char *p;
|
||||
struct stat statb;
|
||||
int ch, phys, print = 0;
|
||||
|
@ -98,7 +98,7 @@ int exerrno = 0; /* Last exec error */
|
||||
|
||||
STATIC void tryexec(char *, char **, char **);
|
||||
STATIC void printentry(struct tblentry *, int);
|
||||
STATIC struct tblentry *cmdlookup(char *, int);
|
||||
STATIC struct tblentry *cmdlookup(const char *, int);
|
||||
STATIC void delete_cmd_entry(void);
|
||||
|
||||
|
||||
@ -109,7 +109,7 @@ STATIC void delete_cmd_entry(void);
|
||||
*/
|
||||
|
||||
void
|
||||
shellexec(char **argv, char **envp, char *path, int index)
|
||||
shellexec(char **argv, char **envp, const char *path, int index)
|
||||
{
|
||||
char *cmdname;
|
||||
int e;
|
||||
@ -175,13 +175,13 @@ tryexec(char *cmd, char **argv, char **envp)
|
||||
* NULL.
|
||||
*/
|
||||
|
||||
char *pathopt;
|
||||
const char *pathopt;
|
||||
|
||||
char *
|
||||
padvance(char **path, char *name)
|
||||
padvance(const char **path, const char *name)
|
||||
{
|
||||
char *p, *q;
|
||||
char *start;
|
||||
const char *p, *start;
|
||||
char *q;
|
||||
int len;
|
||||
|
||||
if (*path == NULL)
|
||||
@ -269,7 +269,7 @@ STATIC void
|
||||
printentry(struct tblentry *cmdp, int verbose)
|
||||
{
|
||||
int index;
|
||||
char *path;
|
||||
const char *path;
|
||||
char *name;
|
||||
|
||||
if (cmdp->cmdtype == CMDNORMAL) {
|
||||
@ -310,7 +310,8 @@ printentry(struct tblentry *cmdp, int verbose)
|
||||
*/
|
||||
|
||||
void
|
||||
find_command(char *name, struct cmdentry *entry, int printerr, char *path)
|
||||
find_command(const char *name, struct cmdentry *entry, int printerr,
|
||||
const char *path)
|
||||
{
|
||||
struct tblentry *cmdp;
|
||||
int index;
|
||||
@ -446,7 +447,7 @@ find_command(char *name, struct cmdentry *entry, int printerr, char *path)
|
||||
*/
|
||||
|
||||
int
|
||||
find_builtin(char *name, int *special)
|
||||
find_builtin(const char *name, int *special)
|
||||
{
|
||||
const struct builtincmd *bp;
|
||||
|
||||
@ -608,10 +609,10 @@ STATIC struct tblentry **lastcmdentry;
|
||||
|
||||
|
||||
STATIC struct tblentry *
|
||||
cmdlookup(char *name, int add)
|
||||
cmdlookup(const char *name, int add)
|
||||
{
|
||||
int hashval;
|
||||
char *p;
|
||||
const char *p;
|
||||
struct tblentry *cmdp;
|
||||
struct tblentry **pp;
|
||||
|
||||
@ -664,7 +665,7 @@ delete_cmd_entry(void)
|
||||
*/
|
||||
|
||||
void
|
||||
addcmdentry(char *name, struct cmdentry *entry)
|
||||
addcmdentry(const char *name, struct cmdentry *entry)
|
||||
{
|
||||
struct tblentry *cmdp;
|
||||
|
||||
@ -684,7 +685,7 @@ addcmdentry(char *name, struct cmdentry *entry)
|
||||
*/
|
||||
|
||||
void
|
||||
defun(char *name, union node *func)
|
||||
defun(const char *name, union node *func)
|
||||
{
|
||||
struct cmdentry entry;
|
||||
|
||||
@ -701,7 +702,7 @@ defun(char *name, union node *func)
|
||||
*/
|
||||
|
||||
int
|
||||
unsetfunc(char *name)
|
||||
unsetfunc(const char *name)
|
||||
{
|
||||
struct tblentry *cmdp;
|
||||
|
||||
@ -767,7 +768,8 @@ typecmd_impl(int argc, char **argv, int cmd)
|
||||
switch (entry.cmdtype) {
|
||||
case CMDNORMAL: {
|
||||
if (strchr(argv[i], '/') == NULL) {
|
||||
char *path = pathval(), *name;
|
||||
const char *path = pathval();
|
||||
char *name;
|
||||
int j = entry.u.index;
|
||||
do {
|
||||
name = padvance(&path, argv[i]);
|
||||
|
@ -57,20 +57,20 @@ struct cmdentry {
|
||||
};
|
||||
|
||||
|
||||
extern char *pathopt; /* set by padvance */
|
||||
extern const char *pathopt; /* set by padvance */
|
||||
extern int exerrno; /* last exec error */
|
||||
|
||||
void shellexec(char **, char **, char *, int);
|
||||
char *padvance(char **, char *);
|
||||
void shellexec(char **, char **, const char *, int);
|
||||
char *padvance(const char **, const char *);
|
||||
int hashcmd(int, char **);
|
||||
void find_command(char *, struct cmdentry *, int, char *);
|
||||
int find_builtin(char *, int *);
|
||||
void find_command(const char *, struct cmdentry *, int, const char *);
|
||||
int find_builtin(const char *, int *);
|
||||
void hashcd(void);
|
||||
void changepath(const char *);
|
||||
void deletefuncs(void);
|
||||
void addcmdentry(char *, struct cmdentry *);
|
||||
void defun(char *, union node *);
|
||||
int unsetfunc(char *);
|
||||
void addcmdentry(const char *, struct cmdentry *);
|
||||
void defun(const char *, union node *);
|
||||
int unsetfunc(const char *);
|
||||
int typecmd_impl(int, char **, int);
|
||||
int typecmd(int, char **);
|
||||
void clearcmdentry(int);
|
||||
|
@ -107,7 +107,7 @@ STATIC void expmeta(char *, char *);
|
||||
STATIC void addfname(char *);
|
||||
STATIC struct strlist *expsort(struct strlist *);
|
||||
STATIC struct strlist *msort(struct strlist *, int);
|
||||
STATIC int pmatch(char *, char *, int);
|
||||
STATIC int pmatch(const char *, const char *, int);
|
||||
STATIC char *cvtnum(int, char *);
|
||||
STATIC int collate_range_cmp(int, int);
|
||||
|
||||
@ -1338,7 +1338,7 @@ msort(struct strlist *list, int len)
|
||||
*/
|
||||
|
||||
int
|
||||
patmatch(char *pattern, char *string, int squoted)
|
||||
patmatch(const char *pattern, const char *string, int squoted)
|
||||
{
|
||||
#ifdef notdef
|
||||
if (pattern[0] == '!' && pattern[1] == '!')
|
||||
@ -1350,9 +1350,9 @@ patmatch(char *pattern, char *string, int squoted)
|
||||
|
||||
|
||||
STATIC int
|
||||
pmatch(char *pattern, char *string, int squoted)
|
||||
pmatch(const char *pattern, const char *string, int squoted)
|
||||
{
|
||||
char *p, *q;
|
||||
const char *p, *q;
|
||||
char c;
|
||||
|
||||
p = pattern;
|
||||
@ -1400,7 +1400,7 @@ pmatch(char *pattern, char *string, int squoted)
|
||||
} while (*q++ != '\0');
|
||||
return 0;
|
||||
case '[': {
|
||||
char *endp;
|
||||
const char *endp;
|
||||
int invert, found;
|
||||
char chr;
|
||||
|
||||
@ -1504,7 +1504,7 @@ rmescapes(char *str)
|
||||
*/
|
||||
|
||||
int
|
||||
casematch(union node *pattern, char *val)
|
||||
casematch(union node *pattern, const char *val)
|
||||
{
|
||||
struct stackmark smark;
|
||||
int result;
|
||||
|
@ -58,7 +58,7 @@ union node;
|
||||
void expandhere(union node *, int);
|
||||
void expandarg(union node *, struct arglist *, int);
|
||||
void expari(int);
|
||||
int patmatch(char *, char *, int);
|
||||
int patmatch(const char *, const char *, int);
|
||||
void rmescapes(char *);
|
||||
int casematch(union node *, char *);
|
||||
int casematch(union node *, const char *);
|
||||
int wordexpcmd(int, char **);
|
||||
|
@ -406,7 +406,7 @@ fc_replace(const char *s, char *p, char *r)
|
||||
}
|
||||
|
||||
int
|
||||
not_fcnumber(char *s)
|
||||
not_fcnumber(const char *s)
|
||||
{
|
||||
if (s == NULL)
|
||||
return (0);
|
||||
@ -416,10 +416,10 @@ not_fcnumber(char *s)
|
||||
}
|
||||
|
||||
int
|
||||
str_to_event(char *str, int last)
|
||||
str_to_event(const char *str, int last)
|
||||
{
|
||||
HistEvent he;
|
||||
char *s = str;
|
||||
const char *s = str;
|
||||
int relative = 0;
|
||||
int i, retval;
|
||||
|
||||
|
@ -401,7 +401,7 @@ popstring(void)
|
||||
*/
|
||||
|
||||
void
|
||||
setinputfile(char *fname, int push)
|
||||
setinputfile(const char *fname, int push)
|
||||
{
|
||||
int fd;
|
||||
int fd2;
|
||||
|
@ -54,7 +54,7 @@ int preadateof(void);
|
||||
void pungetc(void);
|
||||
void pushstring(char *, int, void *);
|
||||
void popstring(void);
|
||||
void setinputfile(char *, int);
|
||||
void setinputfile(const char *, int);
|
||||
void setinputfd(int, int);
|
||||
void setinputstring(char *, int);
|
||||
void popfile(void);
|
||||
|
@ -72,7 +72,7 @@ void
|
||||
chkmail(int silent)
|
||||
{
|
||||
int i;
|
||||
char *mpath;
|
||||
const char *mpath;
|
||||
char *p;
|
||||
char *q;
|
||||
struct stackmark smark;
|
||||
|
@ -269,7 +269,7 @@ read_profile(char *name)
|
||||
*/
|
||||
|
||||
void
|
||||
readcmdfile(char *name)
|
||||
readcmdfile(const char *name)
|
||||
{
|
||||
int fd;
|
||||
|
||||
@ -296,7 +296,7 @@ find_dot_file(char *basename)
|
||||
{
|
||||
static char localname[FILENAME_MAX+1];
|
||||
char *fullname;
|
||||
char *path = pathval();
|
||||
const char *path = pathval();
|
||||
struct stat statb;
|
||||
|
||||
/* don't try this for absolute or relative paths */
|
||||
|
@ -36,7 +36,7 @@
|
||||
extern int rootpid; /* pid of main shell */
|
||||
extern int rootshell; /* true if we aren't a child of the main shell */
|
||||
|
||||
void readcmdfile(char *);
|
||||
void readcmdfile(const char *);
|
||||
void cmdloop(int);
|
||||
int dotcmd(int, char **);
|
||||
int exitcmd(int, char **);
|
||||
|
@ -95,7 +95,7 @@ ckfree(pointer p)
|
||||
*/
|
||||
|
||||
char *
|
||||
savestr(char *s)
|
||||
savestr(const char *s)
|
||||
{
|
||||
char *p;
|
||||
|
||||
|
@ -51,7 +51,7 @@ extern int herefd;
|
||||
pointer ckmalloc(size_t);
|
||||
pointer ckrealloc(pointer, int);
|
||||
void ckfree(pointer);
|
||||
char *savestr(char *);
|
||||
char *savestr(const char *);
|
||||
pointer stalloc(int);
|
||||
void stunalloc(pointer);
|
||||
void setstackmark(struct stackmark *);
|
||||
|
@ -39,7 +39,7 @@ extern int displayhist;
|
||||
void histedit(void);
|
||||
void sethistsize(const char *);
|
||||
int histcmd(int, char **);
|
||||
int not_fcnumber(char *);
|
||||
int str_to_event(char *, int);
|
||||
int not_fcnumber(const char *);
|
||||
int str_to_event(const char *, int);
|
||||
int bindcmd(int, char **);
|
||||
|
||||
|
@ -554,9 +554,10 @@ getopts(char *optstr, char *optvar, char **optfirst, char ***optnext,
|
||||
*/
|
||||
|
||||
int
|
||||
nextopt(char *optstring)
|
||||
nextopt(const char *optstring)
|
||||
{
|
||||
char *p, *q;
|
||||
char *p;
|
||||
const char *q;
|
||||
char c;
|
||||
|
||||
if ((p = optptr) == NULL || *p == '\0') {
|
||||
|
@ -111,5 +111,5 @@ void freeparam(struct shparam *);
|
||||
int shiftcmd(int, char **);
|
||||
int setcmd(int, char **);
|
||||
int getoptscmd(int, char **);
|
||||
int nextopt(char *);
|
||||
int nextopt(const char *);
|
||||
void getoptsreset(const char *);
|
||||
|
@ -314,7 +314,7 @@ doformat(struct output *dest, const char *f, va_list ap)
|
||||
*/
|
||||
|
||||
int
|
||||
xwrite(int fd, char *buf, int nbytes)
|
||||
xwrite(int fd, const char *buf, int nbytes)
|
||||
{
|
||||
int ntry;
|
||||
int i;
|
||||
|
@ -68,7 +68,7 @@ void out1fmt(const char *, ...) __printflike(1, 2);
|
||||
void out2fmt_flush(const char *, ...) __printflike(1, 2);
|
||||
void fmtstr(char *, int, const char *, ...) __printflike(3, 4);
|
||||
void doformat(struct output *, const char *, va_list) __printflike(2, 0);
|
||||
int xwrite(int, char *, int);
|
||||
int xwrite(int, const char *, int);
|
||||
|
||||
#define outc(c, file) (--(file)->nleft < 0? (emptyoutbuf(file), *(file)->nextc++ = (c)) : (*(file)->nextc++ = (c)))
|
||||
#define out1c(c) outc(c, out1);
|
||||
|
@ -1510,9 +1510,9 @@ noexpand(char *text)
|
||||
*/
|
||||
|
||||
int
|
||||
goodname(char *name)
|
||||
goodname(const char *name)
|
||||
{
|
||||
char *p;
|
||||
const char *p;
|
||||
|
||||
p = name;
|
||||
if (! is_name(*p))
|
||||
|
@ -77,5 +77,5 @@ extern int whichprompt; /* 1 == PS1, 2 == PS2 */
|
||||
|
||||
union node *parsecmd(int);
|
||||
void fixredir(union node *, const char *, int);
|
||||
int goodname(char *);
|
||||
int goodname(const char *);
|
||||
char *getprompt(void *);
|
||||
|
@ -307,7 +307,7 @@ sh_trace(const char *fmt, ...)
|
||||
|
||||
|
||||
void
|
||||
trputs(char *s)
|
||||
trputs(const char *s)
|
||||
{
|
||||
if (tracefile == NULL)
|
||||
return;
|
||||
|
@ -35,6 +35,6 @@ void showtree(union node *);
|
||||
void sh_trace(const char *, ...) __printflike(1, 2);
|
||||
void trargs(char **);
|
||||
void trputc(int);
|
||||
void trputs(char *);
|
||||
void trputs(const char *);
|
||||
void opentrace(void);
|
||||
#endif
|
||||
|
39
bin/sh/var.c
39
bin/sh/var.c
@ -122,9 +122,9 @@ STATIC const struct varinit varinit[] = {
|
||||
|
||||
STATIC struct var *vartab[VTABSIZE];
|
||||
|
||||
STATIC struct var **hashvar(char *);
|
||||
STATIC int varequal(char *, char *);
|
||||
STATIC int localevar(char *);
|
||||
STATIC struct var **hashvar(const char *);
|
||||
STATIC int varequal(const char *, const char *);
|
||||
STATIC int localevar(const char *);
|
||||
|
||||
/*
|
||||
* Initialize the variable symbol tables and import the environment.
|
||||
@ -190,7 +190,7 @@ initvar(void)
|
||||
*/
|
||||
|
||||
int
|
||||
setvarsafe(char *name, char *val, int flags)
|
||||
setvarsafe(const char *name, const char *val, int flags)
|
||||
{
|
||||
struct jmploc jmploc;
|
||||
struct jmploc *const savehandler = handler;
|
||||
@ -215,9 +215,9 @@ setvarsafe(char *name, char *val, int flags)
|
||||
*/
|
||||
|
||||
void
|
||||
setvar(char *name, char *val, int flags)
|
||||
setvar(const char *name, const char *val, int flags)
|
||||
{
|
||||
char *p, *q;
|
||||
const char *p;
|
||||
int len;
|
||||
int namelen;
|
||||
char *nameeq;
|
||||
@ -245,19 +245,18 @@ setvar(char *name, char *val, int flags)
|
||||
} else {
|
||||
len += strlen(val);
|
||||
}
|
||||
p = nameeq = ckmalloc(len);
|
||||
q = name;
|
||||
while (--namelen >= 0)
|
||||
*p++ = *q++;
|
||||
*p++ = '=';
|
||||
*p = '\0';
|
||||
nameeq = ckmalloc(len);
|
||||
memcpy(nameeq, name, namelen);
|
||||
nameeq[namelen] = '=';
|
||||
if (val)
|
||||
scopy(val, p);
|
||||
scopy(val, nameeq + namelen + 1);
|
||||
else
|
||||
nameeq[namelen + 1] = '\0';
|
||||
setvareq(nameeq, flags);
|
||||
}
|
||||
|
||||
STATIC int
|
||||
localevar(char *s)
|
||||
localevar(const char *s)
|
||||
{
|
||||
static char *lnames[7] = {
|
||||
"ALL", "COLLATE", "CTYPE", "MONETARY",
|
||||
@ -283,7 +282,7 @@ localevar(char *s)
|
||||
* pointer into environ where the string should not be manipulated.
|
||||
*/
|
||||
static void
|
||||
change_env(char *s, int set)
|
||||
change_env(const char *s, int set)
|
||||
{
|
||||
char *eqp;
|
||||
char *ss;
|
||||
@ -389,7 +388,7 @@ listsetvar(struct strlist *list)
|
||||
*/
|
||||
|
||||
char *
|
||||
lookupvar(char *name)
|
||||
lookupvar(const char *name)
|
||||
{
|
||||
struct var *v;
|
||||
|
||||
@ -412,7 +411,7 @@ lookupvar(char *name)
|
||||
*/
|
||||
|
||||
char *
|
||||
bltinlookup(char *name, int doall)
|
||||
bltinlookup(const char *name, int doall)
|
||||
{
|
||||
struct strlist *sp;
|
||||
struct var *v;
|
||||
@ -796,7 +795,7 @@ unsetcmd(int argc __unused, char **argv __unused)
|
||||
*/
|
||||
|
||||
int
|
||||
unsetvar(char *s)
|
||||
unsetvar(const char *s)
|
||||
{
|
||||
struct var **vpp;
|
||||
struct var *vp;
|
||||
@ -836,7 +835,7 @@ unsetvar(char *s)
|
||||
*/
|
||||
|
||||
STATIC struct var **
|
||||
hashvar(char *p)
|
||||
hashvar(const char *p)
|
||||
{
|
||||
unsigned int hashval;
|
||||
|
||||
@ -855,7 +854,7 @@ hashvar(char *p)
|
||||
*/
|
||||
|
||||
STATIC int
|
||||
varequal(char *p, char *q)
|
||||
varequal(const char *p, const char *q)
|
||||
{
|
||||
while (*p == *q++) {
|
||||
if (*p++ == '=')
|
||||
|
10
bin/sh/var.h
10
bin/sh/var.h
@ -101,12 +101,12 @@ extern struct var vhistsize;
|
||||
#define mpathset() ((vmpath.flags & VUNSET) == 0)
|
||||
|
||||
void initvar(void);
|
||||
void setvar(char *, char *, int);
|
||||
void setvar(const char *, const char *, int);
|
||||
void setvareq(char *, int);
|
||||
struct strlist;
|
||||
void listsetvar(struct strlist *);
|
||||
char *lookupvar(char *);
|
||||
char *bltinlookup(char *, int);
|
||||
char *lookupvar(const char *);
|
||||
char *bltinlookup(const char *, int);
|
||||
char **environment(void);
|
||||
void shprocvar(void);
|
||||
int showvarscmd(int, char **);
|
||||
@ -116,5 +116,5 @@ void mklocal(char *);
|
||||
void poplocalvars(void);
|
||||
int setvarcmd(int, char **);
|
||||
int unsetcmd(int, char **);
|
||||
int unsetvar(char *);
|
||||
int setvarsafe(char *, char *, int);
|
||||
int unsetvar(const char *);
|
||||
int setvarsafe(const char *, const char *, int);
|
||||
|
Loading…
Reference in New Issue
Block a user