sh: Cast -1 to pointer rather than pointer to variable of wrong type.
NEOF needs to be a non-null pointer distinct from valid union node pointers. It is not dereferenced. The new NEOF is much like SIG_ERR except that it is an object pointer instead of a function pointer. The variable tokpushback can now be static.
This commit is contained in:
parent
5a68ee8757
commit
415d59b5d8
@ -96,7 +96,7 @@ static struct heredoc *heredoclist; /* list of here documents to read */
|
||||
static int doprompt; /* if set, prompt the user */
|
||||
static int needprompt; /* true if interactive and at start of line */
|
||||
static int lasttoken; /* last token read */
|
||||
int tokpushback; /* last token pushed back */
|
||||
static int tokpushback; /* last token pushed back */
|
||||
static char *wordtext; /* text of last word returned by readtoken */
|
||||
static int checkkwd;
|
||||
static struct nodelist *backquotelist;
|
||||
|
@ -68,11 +68,9 @@
|
||||
|
||||
/*
|
||||
* NEOF is returned by parsecmd when it encounters an end of file. It
|
||||
* must be distinct from NULL, so we use the address of a variable that
|
||||
* happens to be handy.
|
||||
* must be distinct from NULL.
|
||||
*/
|
||||
extern int tokpushback;
|
||||
#define NEOF ((union node *)&tokpushback)
|
||||
#define NEOF ((union node *)-1)
|
||||
extern int whichprompt; /* 1 == PS1, 2 == PS2 */
|
||||
extern const char *const parsekwd[];
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user