msh: cleaning up for -Wwrite-strings part #3
This commit is contained in:
parent
489f93ebae
commit
6b50f73171
118
shell/msh.c
118
shell/msh.c
@ -284,7 +284,6 @@ static void onintr(int s); /* SIGINT handler */
|
|||||||
|
|
||||||
static int newenv(int f);
|
static int newenv(int f);
|
||||||
static void quitenv(void);
|
static void quitenv(void);
|
||||||
static void err(const char *s);
|
|
||||||
static int anys(const char *s1, const char *s2);
|
static int anys(const char *s1, const char *s2);
|
||||||
static int any(int c, const char *s);
|
static int any(int c, const char *s);
|
||||||
static void next(int f);
|
static void next(int f);
|
||||||
@ -344,8 +343,6 @@ typedef union {
|
|||||||
/* flags to yylex */
|
/* flags to yylex */
|
||||||
#define CONTIN 01 /* skip new lines to complete command */
|
#define CONTIN 01 /* skip new lines to complete command */
|
||||||
|
|
||||||
#define SYNTAXERR zzerr()
|
|
||||||
|
|
||||||
static struct op *pipeline(int cf);
|
static struct op *pipeline(int cf);
|
||||||
static struct op *andor(void);
|
static struct op *andor(void);
|
||||||
static struct op *c_list(void);
|
static struct op *c_list(void);
|
||||||
@ -369,8 +366,6 @@ static char **copyw(void);
|
|||||||
static void word(char *cp);
|
static void word(char *cp);
|
||||||
static struct ioword **copyio(void);
|
static struct ioword **copyio(void);
|
||||||
static struct ioword *io(int u, int f, char *cp);
|
static struct ioword *io(int u, int f, char *cp);
|
||||||
static void zzerr(void);
|
|
||||||
static void yyerror(char *s);
|
|
||||||
static int yylex(int cf);
|
static int yylex(int cf);
|
||||||
static int collect(int c, int c1);
|
static int collect(int c, int c1);
|
||||||
static int dual(int c);
|
static int dual(int c);
|
||||||
@ -461,17 +456,10 @@ static int herein(char *hname, int xdoll);
|
|||||||
static int run(struct ioarg *argp, int (*f) (struct ioarg *));
|
static int run(struct ioarg *argp, int (*f) (struct ioarg *));
|
||||||
|
|
||||||
|
|
||||||
/*
|
|
||||||
* IO functions
|
|
||||||
*/
|
|
||||||
static int eofc(void);
|
static int eofc(void);
|
||||||
static int readc(void);
|
static int readc(void);
|
||||||
static void unget(int c);
|
static void unget(int c);
|
||||||
static void ioecho(char c);
|
static void ioecho(char c);
|
||||||
static void prs(const char *s);
|
|
||||||
static void prn(unsigned u);
|
|
||||||
static void closef(int i);
|
|
||||||
static void closeall(void);
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -734,10 +722,40 @@ void print_tree(struct op *head)
|
|||||||
if (head->right)
|
if (head->right)
|
||||||
print_tree(head->right);
|
print_tree(head->right);
|
||||||
}
|
}
|
||||||
#endif /* MSHDEBUG */
|
#endif /* MSHDEBUG */
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* IO functions
|
||||||
|
*/
|
||||||
|
static void prs(const char *s)
|
||||||
|
{
|
||||||
|
if (*s)
|
||||||
|
write(2, s, strlen(s));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void prn(unsigned u)
|
||||||
|
{
|
||||||
|
prs(itoa(u));
|
||||||
|
}
|
||||||
|
|
||||||
|
static void closef(int i)
|
||||||
|
{
|
||||||
|
if (i > 2)
|
||||||
|
close(i);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void closeall(void)
|
||||||
|
{
|
||||||
|
int u;
|
||||||
|
|
||||||
|
for (u = NUFILE; u < NOFILE;)
|
||||||
|
close(u++);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* fail but return to process next command */
|
/* fail but return to process next command */
|
||||||
|
static void fail(void) ATTRIBUTE_NORETURN;
|
||||||
static void fail(void)
|
static void fail(void)
|
||||||
{
|
{
|
||||||
longjmp(failpt, 1);
|
longjmp(failpt, 1);
|
||||||
@ -783,6 +801,7 @@ static void err(const char *s)
|
|||||||
e.iop = e.iobase = iostack;
|
e.iop = e.iobase = iostack;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------- area.c -------- */
|
/* -------- area.c -------- */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -967,6 +986,7 @@ static char *strsave(const char *s, int a)
|
|||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------- var.c -------- */
|
/* -------- var.c -------- */
|
||||||
|
|
||||||
static int eqname(const char *n1, const char *n2)
|
static int eqname(const char *n1, const char *n2)
|
||||||
@ -1487,6 +1507,24 @@ static char *cclass(char *p, int sub)
|
|||||||
* shell: syntax (C version)
|
* shell: syntax (C version)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
static void yyerror(const char *s) ATTRIBUTE_NORETURN;
|
||||||
|
static void yyerror(const char *s)
|
||||||
|
{
|
||||||
|
yynerrs++;
|
||||||
|
if (interactive && e.iop <= iostack) {
|
||||||
|
multiline = 0;
|
||||||
|
while (eofc() == 0 && yylex(0) != '\n');
|
||||||
|
}
|
||||||
|
err(s);
|
||||||
|
fail();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void zzerr(void) ATTRIBUTE_NORETURN;
|
||||||
|
static void zzerr(void)
|
||||||
|
{
|
||||||
|
yyerror("syntax error");
|
||||||
|
}
|
||||||
|
|
||||||
int yyparse(void)
|
int yyparse(void)
|
||||||
{
|
{
|
||||||
DBGPRINTF7(("YYPARSE: enter...\n"));
|
DBGPRINTF7(("YYPARSE: enter...\n"));
|
||||||
@ -1515,7 +1553,7 @@ static struct op *pipeline(int cf)
|
|||||||
p = command(CONTIN);
|
p = command(CONTIN);
|
||||||
if (p == NULL) {
|
if (p == NULL) {
|
||||||
DBGPRINTF8(("PIPELINE: error!\n"));
|
DBGPRINTF8(("PIPELINE: error!\n"));
|
||||||
SYNTAXERR;
|
zzerr();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (t->type != TPAREN && t->type != TCOM) {
|
if (t->type != TPAREN && t->type != TCOM) {
|
||||||
@ -1548,7 +1586,7 @@ static struct op *andor(void)
|
|||||||
p = pipeline(CONTIN);
|
p = pipeline(CONTIN);
|
||||||
if (p == NULL) {
|
if (p == NULL) {
|
||||||
DBGPRINTF8(("ANDOR: error!\n"));
|
DBGPRINTF8(("ANDOR: error!\n"));
|
||||||
SYNTAXERR;
|
zzerr();
|
||||||
}
|
}
|
||||||
|
|
||||||
t = block(c == LOGAND ? TAND : TOR, t, p, NOWORDS);
|
t = block(c == LOGAND ? TAND : TOR, t, p, NOWORDS);
|
||||||
@ -1627,7 +1665,7 @@ static void musthave(int c, int cf)
|
|||||||
peeksym = yylex(cf);
|
peeksym = yylex(cf);
|
||||||
if (peeksym != c) {
|
if (peeksym != c) {
|
||||||
DBGPRINTF7(("MUSTHAVE: error!\n"));
|
DBGPRINTF7(("MUSTHAVE: error!\n"));
|
||||||
SYNTAXERR;
|
zzerr();
|
||||||
}
|
}
|
||||||
|
|
||||||
peeksym = 0;
|
peeksym = 0;
|
||||||
@ -1811,7 +1849,7 @@ static struct op *dogroup(int onlydone)
|
|||||||
if (c == DONE && onlydone)
|
if (c == DONE && onlydone)
|
||||||
return NULL;
|
return NULL;
|
||||||
if (c != DO)
|
if (c != DO)
|
||||||
SYNTAXERR;
|
zzerr();
|
||||||
mylist = c_list();
|
mylist = c_list();
|
||||||
musthave(DONE, 0);
|
musthave(DONE, 0);
|
||||||
return mylist;
|
return mylist;
|
||||||
@ -1831,7 +1869,7 @@ static struct op *thenpart(void)
|
|||||||
t->type = 0;
|
t->type = 0;
|
||||||
t->left = c_list();
|
t->left = c_list();
|
||||||
if (t->left == NULL)
|
if (t->left == NULL)
|
||||||
SYNTAXERR;
|
zzerr();
|
||||||
t->right = elsepart();
|
t->right = elsepart();
|
||||||
return t;
|
return t;
|
||||||
}
|
}
|
||||||
@ -1845,7 +1883,7 @@ static struct op *elsepart(void)
|
|||||||
case ELSE:
|
case ELSE:
|
||||||
t = c_list();
|
t = c_list();
|
||||||
if (t == NULL)
|
if (t == NULL)
|
||||||
SYNTAXERR;
|
zzerr();
|
||||||
return t;
|
return t;
|
||||||
|
|
||||||
case ELIF:
|
case ELIF:
|
||||||
@ -2058,22 +2096,6 @@ static struct ioword *io(int u, int f, char *cp)
|
|||||||
return iop;
|
return iop;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void zzerr(void)
|
|
||||||
{
|
|
||||||
yyerror("syntax error");
|
|
||||||
}
|
|
||||||
|
|
||||||
static void yyerror(char *s)
|
|
||||||
{
|
|
||||||
yynerrs++;
|
|
||||||
if (interactive && e.iop <= iostack) {
|
|
||||||
multiline = 0;
|
|
||||||
while (eofc() == 0 && yylex(0) != '\n');
|
|
||||||
}
|
|
||||||
err(s);
|
|
||||||
fail();
|
|
||||||
}
|
|
||||||
|
|
||||||
static int yylex(int cf)
|
static int yylex(int cf)
|
||||||
{
|
{
|
||||||
int c, c1;
|
int c, c1;
|
||||||
@ -4803,32 +4825,6 @@ static int linechar(struct ioarg *ap)
|
|||||||
return c;
|
return c;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void prs(const char *s)
|
|
||||||
{
|
|
||||||
if (*s)
|
|
||||||
write(2, s, strlen(s));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void prn(unsigned u)
|
|
||||||
{
|
|
||||||
prs(itoa(u));
|
|
||||||
}
|
|
||||||
|
|
||||||
static void closef(int i)
|
|
||||||
{
|
|
||||||
if (i > 2)
|
|
||||||
close(i);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void closeall(void)
|
|
||||||
{
|
|
||||||
int u;
|
|
||||||
|
|
||||||
for (u = NUFILE; u < NOFILE;)
|
|
||||||
close(u++);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* remap fd into Shell's fd space
|
* remap fd into Shell's fd space
|
||||||
*/
|
*/
|
||||||
|
Loading…
Reference in New Issue
Block a user