Lines Matching defs:shf
17 #define tputc(c, shf) shf_putchar(c, shf);
18 static void ptree ARGS((struct op *t, int indent, struct shf *f));
19 static void pioact ARGS((struct shf *f, int indent, struct ioword *iop));
20 static void tputC ARGS((int c, struct shf *shf));
21 static void tputS ARGS((char *wp, struct shf *shf));
22 static void vfptreef ARGS((struct shf *shf, int indent, const char *fmt, va_list va));
31 ptree(t, indent, shf)
34 struct shf *shf;
47 fptreef(shf, indent, "%S ", *w++);
49 fptreef(shf, indent, "#no-vars# ");
52 fptreef(shf, indent, "%S ", *w++);
54 fptreef(shf, indent, "#no-args# ");
61 fptreef(shf, indent, "%S ", *w++);
63 fptreef(shf, indent, "#no-vars# ");
67 fptreef(shf, indent, "%s ", *w++);
69 fptreef(shf, indent, "#no-args# ");
77 fptreef(shf, indent + 2, "( %T) ", t->left);
80 fptreef(shf, indent, "%T| ", t->left);
84 fptreef(shf, indent, "%T%;", t->left);
89 fptreef(shf, indent, "%T%s %T",
93 fptreef(shf, indent, "! ");
100 fptreef(shf, indent, "[[");
102 fptreef(shf, indent, " %S", t->args[i]);
103 fptreef(shf, indent, " ]] ");
108 fptreef(shf, indent, "select %s ", t->str);
113 fptreef(shf, indent, "for %s ", t->str);
115 fptreef(shf, indent, "in ");
117 fptreef(shf, indent, "%S ", *w++);
118 fptreef(shf, indent, "%;");
120 fptreef(shf, indent + INDENT, "do%N%T", t->left);
121 fptreef(shf, indent, "%;done ");
124 fptreef(shf, indent, "case %S in", t->str);
126 fptreef(shf, indent, "%N(");
128 fptreef(shf, indent, "%S%c", *w,
130 fptreef(shf, indent + INDENT, "%;%T%N;;", t1->left);
132 fptreef(shf, indent, "%Nesac ");
137 fptreef(shf, indent + 3, "if %T", t->left);
141 fptreef(shf, indent, "%;");
142 fptreef(shf, indent + INDENT, "then%N%T",
148 fptreef(shf, indent, "%;");
150 fptreef(shf, indent + 5, "elif %T", t->left);
153 fptreef(shf, indent, "%;");
154 fptreef(shf, indent + INDENT, "else%;%T", t->right);
156 fptreef(shf, indent, "%;fi ");
161 fptreef(shf, indent + 6, "%s %T",
164 fptreef(shf, indent, "%;do");
165 fptreef(shf, indent + INDENT, "%;%T", t->right);
166 fptreef(shf, indent, "%;done ");
169 fptreef(shf, indent + INDENT, "{%;%T", t->left);
170 fptreef(shf, indent, "%;} ");
173 fptreef(shf, indent, "%T|& ", t->left);
176 fptreef(shf, indent, "%T& ", t->left);
179 fptreef(shf, indent,
184 fptreef(shf, indent, "time %T", t->left);
187 fptreef(shf, indent, "<botch>");
194 pioact(shf, indent, *ioact++);
201 tputc('\n', shf);
202 shf_puts(iop->heredoc, shf);
203 fptreef(shf, indent, "%s",
213 tputc('\n', shf);
218 pioact(shf, indent, iop)
219 struct shf *shf;
233 tputc('0' + iop->unit, shf);
237 fptreef(shf, indent, "< ");
241 fptreef(shf, indent, "<<- ");
243 fptreef(shf, indent, "<< ");
246 fptreef(shf, indent, ">> ");
250 fptreef(shf, indent, ">| ");
252 fptreef(shf, indent, "> ");
255 fptreef(shf, indent, "<> ");
259 fptreef(shf, indent, "<&");
261 fptreef(shf, indent, ">&");
267 fptreef(shf, indent, "%S ", iop->delim);
269 fptreef(shf, indent, (iop->flag & IONAMEXP) ? "%s " : "%S ",
279 tputC(c, shf)
281 struct shf *shf;
284 tputc((c&0x80) ? '$' : '^', shf);
285 tputc(((c&0x7F)|0x40), shf);
287 tputc((c&0x80) ? '$' : '^', shf);
288 tputc('?', shf);
290 tputc(c, shf);
294 tputS(wp, shf)
296 struct shf *shf;
312 tputC(*wp++, shf);
317 tputc('\\', shf);
318 tputC(c, shf);
321 tputc('$', shf);
322 tputc('(', shf);
324 tputC(*wp++, shf);
325 tputc(')', shf);
329 tputc('$', shf);
330 tputc('(', shf);
331 tputc('(', shf);
333 tputC(*wp++, shf);
334 tputc(')', shf);
335 tputc(')', shf);
340 tputc('"', shf);
344 tputc('"', shf);
347 tputc('$', shf);
349 tputc('{', shf);
351 tputC(c, shf);
355 tputc('}', shf);
359 tputc(*wp++, shf);
360 tputc('(', shf);
363 tputc('|', shf);
366 tputc(')', shf);
378 fptreef(struct shf *shf, int indent, const char *fmt, ...)
384 vfptreef(shf, indent, fmt, va);
394 struct shf shf;
396 shf_sopen(s, n, SHF_WR | (s ? 0 : SHF_DYNAMIC), &shf);
399 vfptreef(&shf, 0, fmt, va);
402 return shf_sclose(&shf); /* null terminates */
406 vfptreef(shf, indent, fmt, va)
407 struct shf *shf;
422 tputc(va_arg(va, int), shf);
427 tputc(*p++, shf);
431 tputS(p, shf);
441 tputc(*p++, shf);
444 ptree(va_arg(va, struct op *), indent, shf);
448 if (shf->flags & SHF_STRING) {
450 tputc(';', shf);
451 tputc(' ', shf);
455 tputc('\n', shf);
457 tputc('\t', shf);
459 tputc(' ', shf);
463 pioact(shf, indent, va_arg(va, struct ioword *));
466 tputc(c, shf);
470 tputc(c, shf);
600 struct shf shf;
603 shf_sopen((char *) 0, 32, SHF_WR | SHF_DYNAMIC, &shf);
613 return shf_sclose(&shf); /* null terminates */
616 shf_putchar(*wp++, &shf);
619 shf_putchar('$', &shf);
620 shf_putchar('(', &shf);
622 shf_putchar(*wp++, &shf);
623 shf_putchar(')', &shf);
626 shf_putchar('$', &shf);
627 shf_putchar('(', &shf);
628 shf_putchar('(', &shf);
630 shf_putchar(*wp++, &shf);
631 shf_putchar(')', &shf);
632 shf_putchar(')', &shf);
639 shf_putchar('$', &shf);
641 shf_putchar('{', &shf);
643 shf_putchar(c, &shf);
647 shf_putchar('}', &shf);
651 shf_putchar(*wp++, &shf);
652 shf_putchar('(', &shf);
655 shf_putchar('|', &shf);
658 shf_putchar(')', &shf);