Lines Matching refs:xp
1056 varsub(Expand *xp, const char *sp, const char *word, in varsub() argument
1072 xp->var = NULL; in varsub()
1139 xp->str = shf_smprintf("%d", c); in varsub()
1202 xp->str = null; in varsub()
1203 xp->var = global(sp); in varsub()
1206 xp->u.strv = (const char **)e->loc->argv + 1; in varsub()
1207 xp->str = *xp->u.strv++; in varsub()
1209 xp->split = tobool(c == '@'); in varsub()
1244 xp->str = null; in varsub()
1249 xp->u.strv = (const char **)XPptrv(wv); in varsub()
1250 xp->str = *xp->u.strv++; in varsub()
1252 xp->split = tobool(p[1] == '@'); in varsub()
1262 xp->var = global(sp); in varsub()
1264 xp->str = shf_smprintf("%s[%lu]", in varsub()
1265 xp->var->name, in varsub()
1266 arrayindex(xp->var)); in varsub()
1268 xp->str = xp->var->name; in varsub()
1270 xp->var = global(sp); in varsub()
1271 xp->str = str_val(xp->var); in varsub()
1280 (((stype & 0x80) ? *xp->str == '\0' : xp->str == null) && in varsub()
1281 (state != XARG || (ifs0 || xp->split ? in varsub()
1282 (xp->u.strv[0] == NULL) : !hasnonempty(xp->u.strv))) ? in varsub()
1288 if (Flag(FNOUNSET) && xp->str == null && !zero_ok && in varsub()
1298 comsub(Expand *xp, const char *cp, int fn MKSH_A_UNUSED) in comsub() argument
1318 xp->split = false; in comsub()
1364 xp->str = valsub(t, ATEMP); in comsub()
1381 xp->split = true; in comsub()
1384 xp->u.shf = shf; in comsub()
1483 char *xp; in glob_str() local
1485 Xinit(xs, xp, 256, ATEMP); in glob_str()
1486 globit(&xs, &xp, cp, wp, markdirs ? GF_MARKDIR : GF_NONE); in glob_str()
1487 Xfree(xs, xp); in glob_str()
1500 char *xp = *xpp; in globit() local
1519 stat(Xstring(*xs, xp), &statb) < 0 ? -1 : 1)) in globit()
1524 if (mksh_lstat(Xstring(*xs, xp), &lstatb) < 0) in globit()
1531 if ((check & GF_EXCHECK) && xp > Xstring(*xs, xp) && in globit()
1532 xp[-1] == '/' && !S_ISDIR(lstatb.st_mode) && in globit()
1542 xp > Xstring(*xs, xp) && xp[-1] != '/' && in globit()
1546 *xp++ = '/'; in globit()
1547 *xp = '\0'; in globit()
1550 strndupx(np, Xstring(*xs, xp), Xlength(*xs, xp), ATEMP); in globit()
1555 if (xp > Xstring(*xs, xp)) in globit()
1556 *xp++ = '/'; in globit()
1558 Xcheck(*xs, xp); in globit()
1559 *xp++ = *sp++; in globit()
1581 XcheckN(*xs, xp, se - sp + 1); in globit()
1582 debunk(xp, sp, Xnleft(*xs, xp)); in globit()
1583 xp += strlen(xp); in globit()
1584 *xpp = xp; in globit()
1593 *xp = '\0'; in globit()
1594 prefix_len = Xlength(*xs, xp); in globit()
1595 dirp = opendir(prefix_len ? Xstring(*xs, xp) : "."); in globit()
1609 XcheckN(*xs, xp, len); in globit()
1610 memcpy(xp, name, len); in globit()
1611 *xpp = xp + len - 1; in globit()
1615 xp = Xstring(*xs, xp) + prefix_len; in globit()