comparison disasm.c @ 2207:de3d20e58555

Mostly fix label sorting post-refactor
author Michael Pavone <pavone@retrodev.com>
date Sat, 27 Aug 2022 17:35:28 -0700
parents 4c265d2f6c88
children 53411df7fc71
comparison
equal deleted inserted replaced
2206:4c265d2f6c88 2207:de3d20e58555
1 #include "disasm.h" 1 #include "disasm.h"
2 2
3 label_def *find_label(disasm_context *context, uint32_t address) 3 label_def *find_label(disasm_context *context, uint32_t address)
4 { 4 {
5 char key[MAX_INT_KEY_SIZE]; 5 char key[MAX_INT_KEY_SIZE];
6 tern_int_key(address & context->address_mask, key); 6 tern_sortable_int_key(address & context->address_mask, key);
7 return tern_find_ptr(context->labels, key); 7 return tern_find_ptr(context->labels, key);
8 } 8 }
9 9
10 label_def *add_find_label(disasm_context *context, uint32_t address) 10 label_def *add_find_label(disasm_context *context, uint32_t address)
11 { 11 {
12 char key[MAX_INT_KEY_SIZE]; 12 char key[MAX_INT_KEY_SIZE];
13 tern_int_key(address & context->address_mask, key); 13 tern_sortable_int_key(address & context->address_mask, key);
14 label_def *def = tern_find_ptr(context->labels, key); 14 label_def *def = tern_find_ptr(context->labels, key);
15 if (!def) 15 if (!def)
16 { 16 {
17 def = calloc(1, sizeof(label_def)); 17 def = calloc(1, sizeof(label_def));
18 context->labels = tern_insert_ptr(context->labels, key, def); 18 context->labels = tern_insert_ptr(context->labels, key, def);