Home | History | Annotate | Download | only in src

Lines Matching defs:xp

1045 varsub(Expand *xp, const char *sp, const char *word,
1061 xp->var = NULL;
1128 xp->str = shf_smprintf("%d", c);
1189 xp->str = null;
1190 xp->var = global(sp);
1193 xp->u.strv = (const char **)e->loc->argv + 1;
1194 xp->str = *xp->u.strv++;
1196 xp->split = tobool(c == '@');
1229 xp->str = null;
1234 xp->u.strv = (const char **)XPptrv(wv);
1235 xp->str = *xp->u.strv++;
1237 xp->split = tobool(p[1] == '@');
1247 xp->var = global(sp);
1249 if (xp->var->flag & ISSET)
1250 xp->str = shf_smprintf("%lu",
1251 arrayindex(xp->var));
1253 xp->str = null;
1254 } else if (xp->var->flag & ISSET)
1255 xp->str = xp->var->name;
1258 xp->str = "0";
1260 xp->var = global(sp);
1261 xp->str = str_val(xp->var);
1270 (((stype&0x80) ? *xp->str=='\0' : xp->str==null) ? /* undef? */
1276 if (Flag(FNOUNSET) && xp->str == null && !zero_ok &&
1286 comsub(Expand *xp, const char *cp, int fn MKSH_A_UNUSED)
1306 xp->split = false;
1361 xp->split = true;
1364 xp->u.shf = shf;
1463 char *xp;
1465 Xinit(xs, xp, 256, ATEMP);
1466 globit(&xs, &xp, cp, wp, markdirs ? GF_MARKDIR : GF_NONE);
1467 Xfree(xs, xp);
1480 char *xp = *xpp;
1499 (stat_done = stat(Xstring(*xs, xp), &statb) < 0 \
1504 if (mksh_lstat(Xstring(*xs, xp), &lstatb) < 0)
1511 if ((check & GF_EXCHECK) && xp > Xstring(*xs, xp) &&
1512 xp[-1] == '/' && !S_ISDIR(lstatb.st_mode) &&
1522 xp > Xstring(*xs, xp) && xp[-1] != '/' &&
1526 *xp++ = '/';
1527 *xp = '\0';
1530 strndupx(np, Xstring(*xs, xp), Xlength(*xs, xp), ATEMP);
1535 if (xp > Xstring(*xs, xp))
1536 *xp++ = '/';
1538 Xcheck(*xs, xp);
1539 *xp++ = *sp++;
1561 XcheckN(*xs, xp, se - sp + 1);
1562 debunk(xp, sp, Xnleft(*xs, xp));
1563 xp += strlen(xp);
1564 *xpp = xp;
1572 /* xp = *xpp; copy_non_glob() may have re-alloc'd xs */
1573 *xp = '\0';
1574 prefix_len = Xlength(*xs, xp);
1575 dirp = opendir(prefix_len ? Xstring(*xs, xp) : ".");
1589 XcheckN(*xs, xp, len);
1590 memcpy(xp, name, len);
1591 *xpp = xp + len - 1;
1595 xp = Xstring(*xs, xp) + prefix_len;