diff options
| author | Evan Haas <evan@lagerdata.com> | 2022-09-05 21:32:20 -0700 |
|---|---|---|
| committer | Veikka Tuominen <git@vexu.eu> | 2022-09-07 14:46:58 +0300 |
| commit | e283a40d17bbbeeafda84fad9b75bbc458950934 (patch) | |
| tree | 8750bfe9dfcda5321848d2d055510aea821f054b /src | |
| parent | e2bb92b2e27dc54852a0227345e294ae383358fd (diff) | |
| download | zig-e283a40d17bbbeeafda84fad9b75bbc458950934.tar.gz zig-e283a40d17bbbeeafda84fad9b75bbc458950934.zip | |
translate-c: convert tabs to `\t` in object-like macro string literals
Closes #12549
Diffstat (limited to 'src')
| -rw-r--r-- | src/translate_c.zig | 9 |
1 files changed, 8 insertions, 1 deletions
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; } |
