Skip to content

Commit 13d9717

Browse files
authored
Guid: respect hi64 map signature (#749)
1 parent 65e1bc4 commit 13d9717

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/std/types.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -580,15 +580,16 @@ HL_PRIM varray *hl_enum_parameters( venum *e ) {
580580

581581
static void *hl_guid_map = NULL;
582582
extern void *hl_hi64alloc();
583-
extern void hl_hi64set( void *map, int64 guid, vbyte *name );
584-
extern vbyte *hl_hi64get( void *map, int64 guid );
583+
extern void hl_hi64set( void *map, int64 guid, vdynamic *name );
584+
extern vdynamic *hl_hi64get( void *map, int64 guid );
585585
extern void hl_hi64remove( void *map, int64 guid );
586586

587587
HL_PRIM uchar *hl_guid_str( int64 guid, uchar buf[14] ) {
588588
static char CHARS[] = "#&0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
589589
int i;
590590
int pos = 0;
591-
uchar *name = hl_guid_map ? (uchar*)hl_hi64get(hl_guid_map,guid) : NULL;
591+
vdynamic *data = hl_guid_map ? hl_hi64get(hl_guid_map,guid) : NULL;
592+
uchar *name = data ? (uchar*)(data->v.bytes) : NULL;
592593
if( name != NULL )
593594
return name;
594595
if( guid == 0 )
@@ -609,7 +610,7 @@ HL_PRIM void hl_register_guid_name( int64 guid, vbyte *name ) {
609610
hl_add_root(&hl_guid_map);
610611
}
611612
if( name )
612-
hl_hi64set(hl_guid_map, guid, name);
613+
hl_hi64set(hl_guid_map, guid, hl_make_dyn(&name, &hlt_bytes));
613614
else
614615
hl_hi64remove(hl_guid_map, guid);
615616
}

0 commit comments

Comments
 (0)