mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-23 04:42:32 +00:00
[vulkan] Fix some string retention issues
I really need to come up with a better solution for managing strings in quakec.
This commit is contained in:
parent
d919a85c8e
commit
7e726545b8
2 changed files with 13 additions and 4 deletions
|
@ -1,4 +1,5 @@
|
|||
#include <PropertyList.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "vkfieldcustom.h"
|
||||
#include "vkgen.h"
|
||||
|
@ -14,13 +15,19 @@
|
|||
}
|
||||
|
||||
PLItem *desc = [item getObjectForKey:"type"];
|
||||
pltype = [[desc getObjectAtIndex:1] string];
|
||||
parser = [[desc getObjectAtIndex:2] string];
|
||||
pltype = str_hold ([[desc getObjectAtIndex:1] string]);
|
||||
parser = str_hold ([[desc getObjectAtIndex:2] string]);
|
||||
|
||||
fields = [item getObjectForKey:"fields"];
|
||||
return self;
|
||||
}
|
||||
|
||||
-(void)dealloc
|
||||
{
|
||||
str_free (pltype);
|
||||
str_free (parser);
|
||||
}
|
||||
|
||||
-writeParseData
|
||||
{
|
||||
fprintf (output_file, "static size_t parse_%s_%s_offsets[] = {\n",
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
|
||||
-(void)dealloc
|
||||
{
|
||||
str_free (type);
|
||||
str_free (parser);
|
||||
str_free (parse_type);
|
||||
}
|
||||
|
@ -42,12 +43,13 @@ parseItemType (PLItem *item)
|
|||
type = [item string];
|
||||
if (type) {
|
||||
Type *field_type = [[Type lookup:type] dereference];
|
||||
type = str_hold (type);
|
||||
parse_type = [field_type parseType];
|
||||
parser = str_hold ("parse_" + type);
|
||||
} else {
|
||||
parse_type = parseItemType([item getObjectForKey:"parse_type"]);
|
||||
type = [[item getObjectForKey:"type"] string];
|
||||
parser = [[item getObjectForKey:"parser"] string];
|
||||
type = str_hold ([[item getObjectForKey:"type"] string]);
|
||||
parser = str_hold ([[item getObjectForKey:"parser"] string]);
|
||||
}
|
||||
|
||||
return self;
|
||||
|
|
Loading…
Reference in a new issue