authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-07-18 10:51:18-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2018-07-18 10:51:42-04:00
logc393a399fb4b463f095a8510595263759fd82cd6
treeae8b4d467362ceb049728d8faa39ee5d68b6889e
parentcd488c9da56a03d2244a67629612445c451441da

fix invalid character test on windows


1 files changed, 13 insertions(+), 8 deletions(-)

src/tokenizer.cpp+13-8
......@@ -460,16 +460,21 @@ static const char* get_escape_shorthand(uint8_t c) {
460460static void invalid_char_error(Tokenize *t, uint8_t c) {
461461 if (c == '\r') {
462462 tokenize_error(t, "invalid carriage return, only '\\n' line endings are supported");
463 } else if (isprint(c)) {
463 return;
464 }
465
466 const char *sh = get_escape_shorthand(c);
467 if (sh) {
468 tokenize_error(t, "invalid character: '%s'", sh);
469 return;
470 }
471
472 if (isprint(c)) {
464473 tokenize_error(t, "invalid character: '%c'", c);
465 } else {
466 const char *sh = get_escape_shorthand(c);
467 if (sh) {
468 tokenize_error(t, "invalid character: '%s'", sh);
469 } else {
470 tokenize_error(t, "invalid character: '\\x%x'", c);
471 }
474 return;
472475 }
476
477 tokenize_error(t, "invalid character: '\\x%02x'", c);
473478}
474479
475480void tokenize(Buf *buf, Tokenization *out) {