summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatar Jonathan Beck2009-02-14 14:32:24 +0100
committerGravatar Jonathan Beck2009-02-14 14:32:24 +0100
commit7139de793c8debdf9c18a7eb96f0551feee4c598 (patch)
tree4191cfa3e30f3c73bfdf9f353bacf15b1c2231ac
parentfabfe89d8b27fc4af4949690c0fb3eefda71bdb6 (diff)
downloadlibplist-7139de793c8debdf9c18a7eb96f0551feee4c598.tar.gz
libplist-7139de793c8debdf9c18a7eb96f0551feee4c598.tar.bz2
Fix binary dict indexes.
-rw-r--r--src/bplist.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/bplist.c b/src/bplist.c
index cc3223f..003bff1 100644
--- a/src/bplist.c
+++ b/src/bplist.c
@@ -759,11 +759,11 @@ static void write_dict(GByteArray * bplist, GNode * node, GHashTable * ref_table
buff = (uint8_t *) malloc(size * 2 * dict_param_size);
for (i = 0, cur = node->children; cur && i < size; cur = cur->next->next, i++) {
- idx1 = GPOINTER_TO_UINT(g_hash_table_lookup(ref_table, cur));
+ idx1 = *(uint64_t *) (g_hash_table_lookup(ref_table, cur));
memcpy(buff + i * dict_param_size, &idx1, dict_param_size);
byte_convert(buff + i * dict_param_size, dict_param_size);
- idx2 = GPOINTER_TO_UINT(g_hash_table_lookup(ref_table, cur->next));
+ idx2 = *(uint64_t *)(g_hash_table_lookup(ref_table, cur->next));
memcpy(buff + (i + size) * dict_param_size, &idx2, dict_param_size);
byte_convert(buff + (i + size) * dict_param_size, dict_param_size);
}