diff options
| author | 2009-02-14 14:32:24 +0100 | |
|---|---|---|
| committer | 2009-02-14 14:32:24 +0100 | |
| commit | 7139de793c8debdf9c18a7eb96f0551feee4c598 (patch) | |
| tree | 4191cfa3e30f3c73bfdf9f353bacf15b1c2231ac /src | |
| parent | fabfe89d8b27fc4af4949690c0fb3eefda71bdb6 (diff) | |
| download | libplist-7139de793c8debdf9c18a7eb96f0551feee4c598.tar.gz libplist-7139de793c8debdf9c18a7eb96f0551feee4c598.tar.bz2 | |
Fix binary dict indexes.
Diffstat (limited to 'src')
| -rw-r--r-- | src/bplist.c | 4 |
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 | |||
| 759 | buff = (uint8_t *) malloc(size * 2 * dict_param_size); | 759 | buff = (uint8_t *) malloc(size * 2 * dict_param_size); |
| 760 | 760 | ||
| 761 | for (i = 0, cur = node->children; cur && i < size; cur = cur->next->next, i++) { | 761 | for (i = 0, cur = node->children; cur && i < size; cur = cur->next->next, i++) { |
| 762 | idx1 = GPOINTER_TO_UINT(g_hash_table_lookup(ref_table, cur)); | 762 | idx1 = *(uint64_t *) (g_hash_table_lookup(ref_table, cur)); |
| 763 | memcpy(buff + i * dict_param_size, &idx1, dict_param_size); | 763 | memcpy(buff + i * dict_param_size, &idx1, dict_param_size); |
| 764 | byte_convert(buff + i * dict_param_size, dict_param_size); | 764 | byte_convert(buff + i * dict_param_size, dict_param_size); |
| 765 | 765 | ||
| 766 | idx2 = GPOINTER_TO_UINT(g_hash_table_lookup(ref_table, cur->next)); | 766 | idx2 = *(uint64_t *)(g_hash_table_lookup(ref_table, cur->next)); |
| 767 | memcpy(buff + (i + size) * dict_param_size, &idx2, dict_param_size); | 767 | memcpy(buff + (i + size) * dict_param_size, &idx2, dict_param_size); |
| 768 | byte_convert(buff + (i + size) * dict_param_size, dict_param_size); | 768 | byte_convert(buff + (i + size) * dict_param_size, dict_param_size); |
| 769 | } | 769 | } |
