Use new allocation for expanding \#

This commit is contained in:
Rangi42
2024-03-02 08:04:59 -05:00
parent dbcb82799e
commit 19bb12754b
3 changed files with 3 additions and 3 deletions

View File

@@ -31,7 +31,7 @@ struct Expansion {
std::optional<std::string> name;
union {
char const *unowned;
char *owned; // Non-`const` only so it can be `free()`d
char *owned; // Non-`const` only so it can be `delete []`d
} contents;
size_t size; // Length of the contents
size_t offset; // Cursor into the contents

View File

@@ -517,7 +517,7 @@ void lexer_CheckRecursionDepth()
static void freeExpansion(Expansion &expansion)
{
if (expansion.owned)
free(expansion.contents.owned);
delete [] expansion.contents.owned;
}
static bool isMacroChar(char c)

View File

@@ -63,7 +63,7 @@ char const *macro_GetAllArgs()
for (uint32_t i = macroArgs->shift; i < nbArgs; i++)
len += macroArgs->args[i].length() + 1; // 1 for comma
char *str = (char *)malloc(len + 1); // 1 for '\0'
char *str = new char[len + 1]; // 1 for '\0'
char *ptr = str;
if (!str)