| 76 g_hash_table_destroy(km->val_to_key); |
76 g_hash_table_destroy(km->val_to_key); |
| 77 g_free(km); |
77 g_free(km); |
| 78 } |
78 } |
| 79 |
79 |
| 80 gpointer |
80 gpointer |
| 81 ggp_keymapper_to_key(ggp_keymapper *km, uint64_t val) |
81 ggp_keymapper_to_key(ggp_keymapper *km, guint64 val) |
| 82 { |
82 { |
| 83 uint64_t *key; |
83 guint64 *key; |
| 84 |
84 |
| 85 g_return_val_if_fail(km != NULL, NULL); |
85 g_return_val_if_fail(km != NULL, NULL); |
| 86 |
86 |
| 87 key = g_hash_table_lookup(km->val_to_key, &val); |
87 key = g_hash_table_lookup(km->val_to_key, &val); |
| 88 if (key) |
88 if (key) |
| 89 return key; |
89 return key; |
| 90 |
90 |
| 91 key = g_new(uint64_t, 1); |
91 key = g_new(guint64, 1); |
| 92 *key = val; |
92 *key = val; |
| 93 |
93 |
| 94 g_hash_table_insert(km->val_to_key, key, key); |
94 g_hash_table_insert(km->val_to_key, key, key); |
| 95 |
95 |
| 96 return key; |
96 return key; |
| 97 } |
97 } |
| 98 |
98 |
| 99 uint64_t |
99 guint64 |
| 100 ggp_keymapper_from_key(ggp_keymapper *km, gpointer key) |
100 ggp_keymapper_from_key(ggp_keymapper *km, gpointer key) |
| 101 { |
101 { |
| 102 g_return_val_if_fail(km != NULL, 0); |
102 g_return_val_if_fail(km != NULL, 0); |
| 103 g_return_val_if_fail(key != NULL, 0); |
103 g_return_val_if_fail(key != NULL, 0); |
| 104 |
104 |
| 105 return *((uint64_t*)key); |
105 return *((guint64*)key); |
| 106 } |
106 } |