sh: Forward-declare struct alias instead of giving up type safety via void *

This commit is contained in:
jilles 2012-11-11 15:13:24 +00:00
parent 551d372a1b
commit be4aea389c
2 changed files with 5 additions and 4 deletions

View File

@ -350,7 +350,7 @@ pungetc(void)
* We handle aliases this way.
*/
void
pushstring(char *s, int len, void *ap)
pushstring(char *s, int len, struct alias *ap)
{
struct strpush *sp;
@ -365,9 +365,9 @@ pushstring(char *s, int len, void *ap)
sp->prevstring = parsenextc;
sp->prevnleft = parsenleft;
sp->prevlleft = parselleft;
sp->ap = (struct alias *)ap;
sp->ap = ap;
if (ap)
((struct alias *)ap)->flag |= ALIASINUSE;
ap->flag |= ALIASINUSE;
parsenextc = s;
parsenleft = len;
INTON;

View File

@ -45,6 +45,7 @@ extern int parsenleft; /* number of characters left in input buffer */
extern char *parsenextc; /* next character in input buffer */
extern int init_editline; /* 0 == not setup, 1 == OK, -1 == failed */
struct alias;
struct parsefile;
char *pfgets(char *, int);
@ -52,7 +53,7 @@ int pgetc(void);
int preadbuffer(void);
int preadateof(void);
void pungetc(void);
void pushstring(char *, int, void *);
void pushstring(char *, int, struct alias *);
void setinputfile(const char *, int);
void setinputfd(int, int);
void setinputstring(char *, int);