mirror of
https://github.com/DarkPlacesEngine/gmqcc.git
synced 2025-01-18 14:21:36 +00:00
ir_value_set_string needs to use a strdup which doesn't return NULL for an emptystring
This commit is contained in:
parent
c12e60a510
commit
af3d9e0bdf
2 changed files with 13 additions and 2 deletions
13
ir.c
13
ir.c
|
@ -749,11 +749,22 @@ bool ir_value_set_field(ir_value *self, ir_value *fld)
|
|||
return true;
|
||||
}
|
||||
|
||||
static char *ir_strdup(const char *str)
|
||||
{
|
||||
if (str && !*str) {
|
||||
/* actually dup empty strings */
|
||||
char *out = mem_a(1);
|
||||
*out = 0;
|
||||
return out;
|
||||
}
|
||||
return util_strdup(str);
|
||||
}
|
||||
|
||||
bool ir_value_set_string(ir_value *self, const char *str)
|
||||
{
|
||||
if (self->vtype != TYPE_STRING)
|
||||
return false;
|
||||
self->constval.vstring = util_strdup(str);
|
||||
self->constval.vstring = ir_strdup(str);
|
||||
self->isconst = true;
|
||||
return true;
|
||||
}
|
||||
|
|
2
parser.c
2
parser.c
|
@ -174,7 +174,7 @@ ast_value* parser_const_float_0(parser_t *parser)
|
|||
return parser->imm_float_zero;
|
||||
}
|
||||
|
||||
char *parser_strdup(const char *str)
|
||||
static char *parser_strdup(const char *str)
|
||||
{
|
||||
if (str && !*str) {
|
||||
/* actually dup empty strings */
|
||||
|
|
Loading…
Reference in a new issue