Strip carriage return \r from raw string literals

This commit is contained in:
gingerBill
2020-05-23 11:39:29 +01:00
parent 26fe9b0212
commit ef539696b9
2 changed files with 26 additions and 2 deletions

View File

@@ -960,6 +960,7 @@ Token tokenizer_get_token(Tokenizer *t) {
case '`': // Raw String Literal
case '"': // String Literal
{
bool has_carriage_return = false;
i32 success;
Rune quote = curr_rune;
token.kind = Token_String;
@@ -989,10 +990,13 @@ Token tokenizer_get_token(Tokenizer *t) {
if (r == quote) {
break;
}
if (r == '\r') {
has_carriage_return = true;
}
}
}
token.string.len = t->curr - token.string.text;
success = unquote_string(heap_allocator(), &token.string);
success = unquote_string(heap_allocator(), &token.string, 0, has_carriage_return);
if (success > 0) {
if (success == 2) {
array_add(&t->allocated_strings, token.string);