From e283a40d17bbbeeafda84fad9b75bbc458950934 Mon Sep 17 00:00:00 2001 From: Evan Haas Date: Mon, 5 Sep 2022 21:32:20 -0700 Subject: translate-c: convert tabs to `\t` in object-like macro string literals Closes #12549 --- src/translate_c.zig | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/translate_c.zig b/src/translate_c.zig index faa8a456f5..e62f5b4568 100644 --- a/src/translate_c.zig +++ b/src/translate_c.zig @@ -5799,7 +5799,7 @@ fn zigifyEscapeSequences(ctx: *Context, m: *MacroCtx) ![]const u8 { } } for (source) |c| { - if (c == '\\') { + if (c == '\\' or c == '\t') { break; } } else return source; @@ -5876,6 +5876,13 @@ fn zigifyEscapeSequences(ctx: *Context, m: *MacroCtx) ![]const u8 { state = .Start; }, .Start => { + if (c == '\t') { + bytes[i] = '\\'; + i += 1; + bytes[i] = 't'; + i += 1; + continue; + } if (c == '\\') { state = .Escape; } -- cgit v1.2.3