Lines Matching defs:po
324 } po;
326 memset(&po, 0, sizeof(po));
327 po.fd = 1;
328 po.ws = ' ';
329 po.ls = '\n';
330 po.nl = true;
343 po.nl = false;
346 po.exp = false;
380 po.exp = new_exp;
381 po.nl = new_nl;
392 po.exp = true;
397 po.chars = true;
400 po.col = true;
403 po.exp = true;
406 po.ws = '\n';
409 po.ws = '\0';
410 po.ls = '\0';
413 po.nl = false;
416 if ((po.fd = coproc_getfd(W_OK, &emsg)) < 0) {
426 po.exp = false;
429 po.hist = true;
433 po.fd = 0;
434 else if ((po.fd = check_fd(s, W_OK, &emsg)) < 0) {
452 if (po.col) {
456 XPinit(po.words, 16);
464 if (po.chars) {
469 if (!evaluate(s, &po.wc, KSH_RETURN_ERROR, true))
473 po.ts[utf_wctomb(po.ts, po.wc)] = 0;
476 Xput(xs, xp, po.ts[c]);
477 } while (po.ts[++c]);
479 Xput(xs, xp, po.wc & 0xFF);
485 if (po.exp && c == '\\') {
493 po.nl = false;
505 po.ts[utf_wctomb(po.ts, c - 0x100)] = 0;
508 Xput(xs, xp, po.ts[c]);
509 } while (po.ts[++c]);
516 if (po.col) {
518 XPput(po.words, Xclose(xs, xp));
522 if (!po.col)
523 Xput(xs, xp, po.ws);
526 if (po.col) {
527 size_t w = XPsize(po.words);
530 XPput(po.words, NULL);
532 co.linesep = po.ls;
534 pr_list(&co, (char **)XPptrv(po.words));
536 afree(XPptrv(po.words)[w], ATEMP);
537 XPfree(po.words);
545 if (po.nl)
546 Xput(xs, xp, po.ls);
549 if (po.hist) {
561 if (coproc.write >= 0 && coproc.write == po.fd) {
562 po.coproc = true;
563 po.copipe = block_pipe();
565 po.coproc = po.copipe = false;
571 if ((nwritten = write(po.fd, s, len)) < 0) {
573 if (po.copipe)
578 if (po.coproc)
579 po.copipe = block_pipe();
588 if (po.copipe)