Lines Matching defs:flag

171 nextword(char c, int flag, char *p, struct worddest *dst)
179 if (flag & EXP_GLOB)
192 #define NEXTWORD(c, flag, p, dstlist) p = nextword(c, flag, p, dstlist)
195 stputs_split(const char *data, const char *syntax, int flag, char *p,
206 NEXTWORD(c, flag, p, dst);
209 if (flag & EXP_GLOB && syntax[(int)c] == CCTL)
215 #define STPUTS_SPLIT(data, syntax, flag, p, dst) p = stputs_split((data), syntax, flag, p, dst)
221 * via flag (EXP_*).
230 expandarg(union node *arg, struct arglist *arglist, int flag)
236 flag &= ~EXP_GLOB;
241 argstr(arg->narg.text, &argbackq, flag, &exparg);
246 if ((flag & EXP_SPLIT) == 0 || expdest != stackblock() ||
249 if (flag & EXP_SPLIT) {
250 if (flag & EXP_GLOB)
256 if ((flag & EXP_SPLIT) == 0)
273 argstr(const char *p, struct nodelist **restrict argbackq, int flag,
277 int quotes = flag & (EXP_GLOB | EXP_CASE); /* do CTLESC */
282 split_lit = flag & EXP_SPLIT_LIT;
283 lit_quoted = flag & EXP_LIT_QUOTED;
284 flag &= ~(EXP_SPLIT_LIT | EXP_LIT_QUOTED);
285 if (*p == '~' && (flag & (EXP_TILDE | EXP_VARTILDE)))
286 p = exptilde(p, flag);
301 if ((flag & EXP_SPLIT) != 0 && expdest == stackblock())
311 NEXTWORD(c, flag, expdest, dst);
319 p = evalvar(p, argbackq, flag, dst);
323 expbackq((*argbackq)->n, c & CTLQUOTE, flag, dst);
327 p = expari(p, argbackq, flag, dst);
337 NEXTWORD(c, flag, expdest, dst);
341 if (flag & EXP_VARTILDE && *p == '~' &&
345 p = exptilde(p, flag);
351 NEXTWORD(c, flag, expdest, dst);
364 exptilde(const char *p, int flag)
385 if ((flag & EXP_VARTILDE) == 0)
404 strtodest(home, flag, VSNORMAL, 1, NULL);
416 expari(const char *p, struct nodelist **restrict argbackq, int flag,
448 result < 0 && begoff > 1 && flag & (EXP_GLOB | EXP_CASE) :
449 flag & EXP_SPLIT)
450 reprocess(expdest - adj - stackblock(), flag, VSNORMAL, quoted,
460 expbackq(union node *cmd, int quoted, int flag, struct worddest *dst)
469 int quotes = flag & (EXP_GLOB | EXP_CASE);
482 if (!quoted && flag & EXP_SPLIT)
503 NEXTWORD('\n', flag, dest, dst);
510 NEXTWORD(lastc, flag, dest, dst);
661 evalvar(const char *p, struct nodelist **restrict argbackq, int flag,
721 strtodest(buf, flag, subtype,
724 varvalue(var, varflags & VSQUOTE, subtype, flag,
745 strtodest(val, flag, subtype,
756 strtodest(buf, flag, VSNORMAL, varflags & VSQUOTE, dst);
766 flag | (flag & EXP_SPLIT ? EXP_SPLIT_LIT : 0) |
784 reprocess(startloc, flag, VSNORMAL, varflags & VSQUOTE, dst);
785 if (flag & EXP_SPLIT && *var == '@' && varflags & VSQUOTE)
796 strtodest(val, flag, subtype, varflags & VSQUOTE, dst);
874 strtodest(const char *p, int flag, int subtype, int quoted,
881 else if (flag & EXP_SPLIT && !quoted && dst != NULL)
882 STPUTS_SPLIT(p, BASESYNTAX, flag, expdest, dst);
883 else if (flag & (EXP_GLOB | EXP_CASE))
890 reprocess(int startloc, int flag, int subtype, int quoted,
919 strtodest(buf + zpos, flag, subtype, quoted, dst);
923 if (flag & EXP_SPLIT && (quoted || (zlen > 0 && zpos < len)))
924 NEXTWORD('\0', flag, expdest, dst);
933 varvalue(const char *name, int quoted, int subtype, int flag,
945 flag &= ~EXP_FULL;
969 strtodest(buf, flag, subtype, quoted, dst);
972 if (flag & EXP_SPLIT && quoted) {
974 strtodest(p, flag, subtype, quoted, dst);
979 NEXTWORD('\0', flag, expdest,
995 strtodest(p, flag, subtype, quoted, dst);
999 strtodest(sep, flag, subtype, quoted, dst);
1000 else if (flag & EXP_SPLIT && !quoted && **ap != '\0') {
1004 NEXTWORD('\0', flag, expdest, dst);
1017 strtodest(p, flag, subtype, quoted, dst);
1022 strtodest(buf, flag, subtype, quoted, dst);