mirror of https://github.com/xemu-project/xemu.git
target-arm: Avoid g_hash_table_get_keys()
g_hash_table_get_keys() was only introduced in glib 2.14, and we're
still targeting a minimum version of 2.12. Rewrite the offending
code (introduced in commit 721fae1
) to use g_hash_table_foreach()
to build the list of keys.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Tested-by: Laurent Desnogues <laurent.desnogues@gmail.com>
Tested-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Message-id: 1372678819-8633-1-git-send-email-peter.maydell@linaro.org
This commit is contained in:
parent
2ebcebe262
commit
82a3a11897
|
@ -222,15 +222,23 @@ static gint cpreg_key_compare(gconstpointer a, gconstpointer b)
|
||||||
return aidx - bidx;
|
return aidx - bidx;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void cpreg_make_keylist(gpointer key, gpointer value, gpointer udata)
|
||||||
|
{
|
||||||
|
GList **plist = udata;
|
||||||
|
|
||||||
|
*plist = g_list_prepend(*plist, key);
|
||||||
|
}
|
||||||
|
|
||||||
void init_cpreg_list(ARMCPU *cpu)
|
void init_cpreg_list(ARMCPU *cpu)
|
||||||
{
|
{
|
||||||
/* Initialise the cpreg_tuples[] array based on the cp_regs hash.
|
/* Initialise the cpreg_tuples[] array based on the cp_regs hash.
|
||||||
* Note that we require cpreg_tuples[] to be sorted by key ID.
|
* Note that we require cpreg_tuples[] to be sorted by key ID.
|
||||||
*/
|
*/
|
||||||
GList *keys;
|
GList *keys = NULL;
|
||||||
int arraylen;
|
int arraylen;
|
||||||
|
|
||||||
keys = g_hash_table_get_keys(cpu->cp_regs);
|
g_hash_table_foreach(cpu->cp_regs, cpreg_make_keylist, &keys);
|
||||||
|
|
||||||
keys = g_list_sort(keys, cpreg_key_compare);
|
keys = g_list_sort(keys, cpreg_key_compare);
|
||||||
|
|
||||||
cpu->cpreg_array_len = 0;
|
cpu->cpreg_array_len = 0;
|
||||||
|
|
Loading…
Reference in New Issue