Lines Matching defs:flag

240 static Shnode_t	*makeparent(Lex_t *lp, int flag, Shnode_t *child)
243 par->fork.forktyp = flag;
321 void *sh_parse(Shell_t *shp, Sfio_t *iop, int flag)
328 if(shp->binscript && (sffileno(iop)==shp->infd || (flag&SH_FUNEVAL)))
358 if(sffileno(iop)==shp->infd || (flag&SH_FUNEVAL))
364 flag &= ~SH_FUNEVAL;
365 if((flag&SH_NL) && (shp->inlineno=error_info.line+shp->st.firstline)==0)
370 t = sh_cmd(lexp,(flag&SH_EOF)?EOFSYM:'\n',SH_SEMI|SH_EMPTY|(flag&SH_NL));
382 if(flag&SH_NL)
448 * increase reference count for each stack in function list when flag>0
449 * decrease reference count for each stack in function list when flag<=0
453 void sh_funstaks(register struct slnod *slp,int flag)
459 sh_funstaks(slp->slchild,flag);
461 if(flag<=0)
475 static Shnode_t *sh_cmd(Lex_t *lexp, register int sym, int flag)
481 left = list(lexp,flag);
484 if(flag&SH_NL)
487 else if(!left && !(flag&SH_EMPTY))
506 if(right=sh_cmd(lexp,sym,flag|SH_EMPTY))
529 static Shnode_t *list(Lex_t *lexp, register int flag)
531 register Shnode_t *t = term(lexp,flag);
543 static Shnode_t *term(Lex_t *lexp,register int flag)
547 if(flag&SH_NL)
548 token = skipnl(lexp,flag);
560 else if((t=item(lexp,SH_NL|SH_EMPTY|(flag&SH_SEMI))) && lexp->token=='|')
719 register int flag;
739 if(!(flag = (lexp->token==FUNCTSYM)))
773 if(flag)
795 if((flag && lexp->token!=LBRACE) || lexp->token==EOFSYM)
821 if(!flag && lexp->token==0)
825 flag = ARGVAL + strlen(lexp->arg->argval);
826 ap = (struct argnod*)stakalloc(flag);
827 memcpy(ap,lexp->arg,flag);
1021 static Shnode_t *item(Lex_t *lexp,int flag)
1029 if(!(flag&SH_NOIO) && (tok=='<' || tok=='>' || lexp->token==IOVNAME))
1202 skipnl(lexp,flag);
1232 if(!(flag&SH_SEMI))
1240 t = (Shnode_t*)simple(lexp,flag,io);
1279 static Shnode_t *simple(Lex_t *lexp,int flag, struct ionod *io)
1290 int key_on = (!(flag&SH_NOIO) && sh_isoption(SH_KEYWORD));
1294 flag |= SH_ARRAY;
1310 if(*argp->argval==LBRACE && (flag&SH_FUNDEF) && argp->argval[1]==0)
1322 lexp->assignok = (flag&SH_ASSIGN)?SH_ASSIGN:1;
1354 if(argno>=0 && argno++==cmdarg && !(flag&SH_ARRAY) && *argp->argval!='/')
1379 if(!(lexp->assignok=key_on) && !(flag&SH_NOIO) && sh_isoption(SH_NOEXEC))
1385 if(tok==LABLSYM && (flag&SH_ASSIGN))
1424 else if(flag&SH_ASSIGN)
1428 else if(tok==NL && (flag&SH_ARRAY))
1435 if(!(flag&SH_NOIO))
1452 if(lexp->kiafile && !(flag&SH_NOIO))
1528 static int skipnl(Lex_t *lexp,int flag)
1532 if(token==';' && !(flag&SH_SEMI))
1539 * if flag>0 then an alias can be in the next word
1540 * if flag<0 only one redirection will be processed
1542 static struct ionod *inout(Lex_t *lexp,struct ionod *lastio,int flag)
1656 if(flag>0)
1670 if(flag>=0)
1685 ioq->ionxt=inout(lexp,lastio,flag);