diff options
author | Christian Neukirchen <chneukirchen@gmail.com> | 2016-08-04 19:12:20 +0200 |
---|---|---|
committer | Christian Neukirchen <chneukirchen@gmail.com> | 2016-08-04 19:12:20 +0200 |
commit | 26f694c91d04edeb374a53fad60d63a87c0bf065 (patch) | |
tree | 716e884d33b634671196ee37d83dc2d9d6e0f508 /mscan.c | |
parent | f628a10ff6c8e359036984c0a37a9cd1d3784914 (diff) | |
download | mblaze-26f694c91d04edeb374a53fad60d63a87c0bf065.tar.gz mblaze-26f694c91d04edeb374a53fad60d63a87c0bf065.tar.xz mblaze-26f694c91d04edeb374a53fad60d63a87c0bf065.zip |
mscan: support \n and \t
Diffstat (limited to 'mscan.c')
-rw-r--r-- | mscan.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/mscan.c b/mscan.c index 4023910..bf93d05 100644 --- a/mscan.c +++ b/mscan.c @@ -248,6 +248,7 @@ oneline(char *file) nomsg: flag1 = flag2 = flag3 = ' '; *fromdec = 0; + flags = ""; snprintf(subjdec, sizeof subjdec, "\\_ %s", file); lineno = 0; } @@ -256,6 +257,17 @@ nomsg: char *f; for (f = fflag; *f; f++) { + if (*f == '\\') { + f++; + switch (*f) { + case 'n': putchar('\n'); wleft = cols; break; + case 't': putchar('\t'); wleft -= (8 - wleft % 8); break; + default: + putchar('\\'); wleft--; + putchar(*f); wleft--; + } + continue; + } if (*f != '%') { putchar(*f); wleft--; @@ -277,7 +289,7 @@ nomsg: if (!*f) break; - switch(*f) { + switch (*f) { case '%': putchar('%'); wleft--; |