deduplicate string escaping paths in eval/cfg/etc

This commit is contained in:
Ryan Fleury
2024-09-13 12:08:22 -07:00
parent 306f8d84c5
commit 7cd1d175de
9 changed files with 122 additions and 210 deletions
+4 -4
View File
@@ -782,7 +782,7 @@ e_append_strings_from_expr(Arena *arena, E_Expr *expr, String8List *out)
}break;
case E_ExprKind_LeafFilePath:
{
str8_list_pushf(arena, out, "file:\"%S\"", e_escaped_from_raw_string(arena, expr->string));
str8_list_pushf(arena, out, "file:\"%S\"", escaped_from_raw_str8(arena, expr->string));
}break;
case E_ExprKind_LeafF64:
{
@@ -1756,7 +1756,7 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to
if(token_string.size > 1 && token_string.str[0] == '\'' && token_string.str[1] != '\'')
{
String8 char_literal_escaped = str8_skip(str8_chop(token_string, 1), 1);
String8 char_literal_raw = e_raw_from_escaped_string(scratch.arena, char_literal_escaped);
String8 char_literal_raw = raw_from_escaped_str8(scratch.arena, char_literal_escaped);
U8 char_val = char_literal_raw.size > 0 ? char_literal_raw.str[0] : 0;
atom = e_push_expr(arena, E_ExprKind_LeafU64, token_string.str);
atom->value.u64 = (U64)char_val;
@@ -1773,7 +1773,7 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to
if(str8_match(resolution_qualifier, str8_lit("file"), 0))
{
String8 string_value_escaped = str8_chop(str8_skip(token_string, 1), 1);
String8 string_value_raw = e_raw_from_escaped_string(arena, string_value_escaped);
String8 string_value_raw = raw_from_escaped_str8(arena, string_value_escaped);
atom = e_push_expr(arena, E_ExprKind_LeafFilePath, token_string.str);
atom->string = string_value_raw;
it += 1;
@@ -1781,7 +1781,7 @@ e_parse_expr_from_text_tokens__prec(Arena *arena, String8 text, E_TokenArray *to
else
{
String8 string_value_escaped = str8_chop(str8_skip(token_string, 1), 1);
String8 string_value_raw = e_raw_from_escaped_string(arena, string_value_escaped);
String8 string_value_raw = raw_from_escaped_str8(arena, string_value_escaped);
atom = e_push_expr(arena, E_ExprKind_LeafStringLiteral, token_string.str);
atom->string = string_value_raw;
it += 1;