Lines Matching refs:xp

1079 varsub(Expand *xp, const char *sp, const char *word,
1095 xp->var = NULL;
1162 xp->str = shf_smprintf(Tf_d, c);
1173 xp->var = global(sp);
1174 xp->str = p ? shf_smprintf("%s[%lu]",
1175 xp->var->name, arrayindex(xp->var)) : xp->var->name;
1239 xp->str = null;
1240 xp->var = global(sp);
1243 xp->u.strv = (const char **)e->loc->argv + 1;
1244 xp->str = *xp->u.strv++;
1246 xp->split = tobool(c == '@');
1281 xp->str = null;
1286 xp->u.strv = (const char **)XPptrv(wv);
1287 xp->str = *xp->u.strv++;
1289 xp->split = tobool(p[1] == '@');
1293 xp->var = global(sp);
1294 xp->str = str_val(xp->var);
1296 if ((stype & 0x17F) == '=' && !*xp->str &&
1305 (((stype & 0x80) ? *xp->str == '\0' : xp->str == null) &&
1306 (state != XARG || (ifs0 || xp->split ?
1307 (xp->u.strv[0] == NULL) : !hasnonempty(xp->u.strv))) ?
1313 if (Flag(FNOUNSET) && xp->str == null && !zero_ok &&
1325 comsub(Expand *xp, const char *cp, int fn MKSH_A_UNUSED)
1345 xp->split = false;
1364 xp->str = name;
1367 while (name > xp->str && name[-1] == '\n')
1408 xp->str = valsub(t, ATEMP);
1425 xp->split = true;
1428 xp->u.shf = shf;
1530 char *xp;
1532 Xinit(xs, xp, 256, ATEMP);
1533 globit(&xs, &xp, cp, wp, markdirs ? GF_MARKDIR : GF_NONE);
1534 Xfree(xs, xp);
1547 char *xp = *xpp;
1566 stat(Xstring(*xs, xp), &statb) < 0 ? -1 : 1))
1571 if (mksh_lstat(Xstring(*xs, xp), &lstatb) < 0)
1578 if ((check & GF_EXCHECK) && xp > Xstring(*xs, xp) &&
1579 mksh_cdirsep(xp[-1]) && !S_ISDIR(lstatb.st_mode) &&
1589 xp > Xstring(*xs, xp) && !mksh_cdirsep(xp[-1]) &&
1593 *xp++ = '/';
1594 *xp = '\0';
1597 strndupx(np, Xstring(*xs, xp), Xlength(*xs, xp), ATEMP);
1602 if (xp > Xstring(*xs, xp))
1603 *xp++ = '/';
1605 Xcheck(*xs, xp);
1606 *xp++ = *sp++;
1628 XcheckN(*xs, xp, se - sp + 1);
1629 debunk(xp, sp, Xnleft(*xs, xp));
1630 xp += strlen(xp);
1631 *xpp = xp;
1639 /* xp = *xpp; copy_non_glob() may have re-alloc'd xs */
1640 *xp = '\0';
1641 prefix_len = Xlength(*xs, xp);
1642 dirp = opendir(prefix_len ? Xstring(*xs, xp) : Tdot);
1656 XcheckN(*xs, xp, len);
1657 memcpy(xp, name, len);
1658 *xpp = xp + len - 1;
1662 xp = Xstring(*xs, xp) + prefix_len;