diff options
Diffstat (limited to 'src/tree.c')
| -rw-r--r-- | src/tree.c | 65 |
1 files changed, 33 insertions, 32 deletions
@@ -23,7 +23,7 @@ #include "sh.h" -__RCSID("$MirOS: src/bin/mksh/tree.c,v 1.93 2017/05/05 22:53:32 tg Exp $"); +__RCSID("$MirOS: src/bin/mksh/tree.c,v 1.95 2018/01/14 00:03:05 tg Exp $"); #define INDENT 8 @@ -329,7 +329,7 @@ wdvarput(struct shf *shf, const char *wp, int quotelevel, int opmode) case EOS: return (--wp); case ADELIM: - if (ord(*wp) == ord(/*{*/ '}')) { + if (ord(*wp) == ORD(/*{*/ '}')) { ++wp; goto wdvarput_csubst; } @@ -342,21 +342,21 @@ wdvarput(struct shf *shf, const char *wp, int quotelevel, int opmode) c = ord(*wp++); if (opmode & WDS_TPUTS) switch (c) { - case ord('\n'): + case ORD('\n'): if (quotelevel == 0) { - c = ord('\''); + c = ORD('\''); shf_putc(c, shf); - shf_putc(ord('\n'), shf); + shf_putc(ORD('\n'), shf); } break; default: if (quotelevel == 0) /* FALLTHROUGH */ - case ord('"'): - case ord('`'): - case ord('$'): - case ord('\\'): - shf_putc(ord('\\'), shf); + case ORD('"'): + case ORD('`'): + case ORD('$'): + case ORD('\\'): + shf_putc(ORD('\\'), shf); break; } shf_putc(c, shf); @@ -365,7 +365,7 @@ wdvarput(struct shf *shf, const char *wp, int quotelevel, int opmode) case COMSUB: shf_puts("$(", shf); cs = ")"; - if (ord(*wp) == ord('(' /*)*/)) + if (ord(*wp) == ORD('(' /*)*/)) shf_putc(' ', shf); pSUB: while ((c = *wp++) != 0) @@ -374,11 +374,11 @@ wdvarput(struct shf *shf, const char *wp, int quotelevel, int opmode) break; case FUNASUB: case FUNSUB: - c = ord(' '); + c = ORD(' '); if (0) /* FALLTHROUGH */ case VALSUB: - c = ord('|'); + c = ORD('|'); shf_putc('$', shf); shf_putc('{', shf); shf_putc(c, shf); @@ -403,14 +403,14 @@ wdvarput(struct shf *shf, const char *wp, int quotelevel, int opmode) break; case OSUBST: shf_putc('$', shf); - if (ord(*wp++) == ord('{')) + if (ord(*wp++) == ORD('{')) shf_putc('{', shf); while ((c = *wp++) != 0) shf_putc(c, shf); wp = wdvarput(shf, wp, 0, opmode); break; case CSUBST: - if (ord(*wp++) == ord('}')) { + if (ord(*wp++) == ORD('}')) { wdvarput_csubst: shf_putc('}', shf); } @@ -420,11 +420,11 @@ wdvarput(struct shf *shf, const char *wp, int quotelevel, int opmode) shf_putc('(', shf); break; case SPAT: - c = ord('|'); + c = ORD('|'); if (0) /* FALLTHROUGH */ case CPAT: - c = ord(/*(*/ ')'); + c = ORD(/*(*/ ')'); shf_putc(c, shf); break; } @@ -470,36 +470,37 @@ vfptreef(struct shf *shf, int indent, const char *fmt, va_list va) while ((c = ord(*fmt++))) { if (c == '%') { switch ((c = ord(*fmt++))) { - case ord('c'): + case ORD('c'): /* character (octet, probably) */ shf_putchar(va_arg(va, int), shf); break; - case ord('s'): + case ORD('s'): /* string */ shf_puts(va_arg(va, char *), shf); break; - case ord('S'): + case ORD('S'): /* word */ wdvarput(shf, va_arg(va, char *), 0, WDS_TPUTS); break; - case ord('d'): + case ORD('d'): /* signed decimal */ shf_fprintf(shf, Tf_d, va_arg(va, int)); break; - case ord('u'): + case ORD('u'): /* unsigned decimal */ shf_fprintf(shf, "%u", va_arg(va, unsigned int)); break; - case ord('T'): + case ORD('T'): /* format tree */ ptree(va_arg(va, struct op *), indent, shf); goto dont_trash_prevent_semicolon; - case ord(';'): + case ORD(';'): /* newline or ; */ - case ord('N'): + case ORD('N'): /* newline or space */ if (shf->flags & SHF_STRING) { - if (c == ord(';') && !prevent_semicolon) + if ((unsigned int)c == ORD(';') && + !prevent_semicolon) shf_putc(';', shf); shf_putc(' ', shf); } else { @@ -515,7 +516,7 @@ vfptreef(struct shf *shf, int indent, const char *fmt, va_list va) shf_putc(' ', shf); } break; - case ord('R'): + case ORD('R'): /* I/O redirection */ pioact(shf, va_arg(va, struct ioword *)); break; @@ -613,7 +614,7 @@ wdscan(const char *wp, int c) case ADELIM: if (c == ADELIM && nest == 0) return (wp + 1); - if (ord(*wp) == ord(/*{*/ '}')) + if (ord(*wp) == ORD(/*{*/ '}')) goto wdscan_csubst; /* FALLTHROUGH */ case CHAR: @@ -808,7 +809,7 @@ vistree(char *dst, size_t sz, struct op *t) } else if (UTFMODE && rtt2asc(c) > 0x7F) { /* better not try to display broken multibyte chars */ /* also go easy on the Unicode: no U+FFFD here */ - c = ord('?'); + c = ORD('?'); } *dst++ = c; goto vist_loop; @@ -842,7 +843,7 @@ dumpwdvar_i(struct shf *shf, const char *wp, int quotelevel) shf_puts("EOS", shf); return (--wp); case ADELIM: - if (ord(*wp) == ord(/*{*/ '}')) { + if (ord(*wp) == ORD(/*{*/ '}')) { shf_puts(/*{*/ "]ADELIM(})", shf); return (wp + 1); } @@ -856,8 +857,8 @@ dumpwdvar_i(struct shf *shf, const char *wp, int quotelevel) case QCHAR: shf_puts("QCHAR<", shf); c = ord(*wp++); - if (quotelevel == 0 || c == ord('"') || - c == ord('\\') || ctype(c, C_DOLAR | C_GRAVE)) + if (quotelevel == 0 || c == ORD('"') || + c == ORD('\\') || ctype(c, C_DOLAR | C_GRAVE)) shf_putc('\\', shf); dumpchar(shf, c); goto closeandout; |
