From 2e6f6f4b5d53fd8db6e79cf3fc6715a2223e24cc Mon Sep 17 00:00:00 2001 From: Andrea Zagli Date: Thu, 1 Apr 2021 12:45:36 +0200 Subject: [PATCH] Added function ZakAptrArray::lookup_get_name. --- src/aptrarray.c | 32 +++++++++++++++++++++++++++++++- src/aptrarray.h | 4 +++- 2 files changed, 34 insertions(+), 2 deletions(-) diff --git a/src/aptrarray.c b/src/aptrarray.c index 132a83a..3a078a4 100644 --- a/src/aptrarray.c +++ b/src/aptrarray.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Andrea Zagli + * Copyright (C) 2019-2021 Andrea Zagli * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -170,6 +170,36 @@ zak_aptr_array_lookup_get_index (ZakAptrArray *zak_aptr_array, const gchar *name return ret; } +/** + * zak_aptr_array_lookup_get_name: + * @zak_aptr_array: + * @idx: + * + * Returns: the name associated to @idx; or @NULL; + */ +gchar +*zak_aptr_array_lookup_get_name (ZakAptrArray *zak_aptr_array, guint idx) +{ + GHashTableIter iter; + gpointer key; + gpointer value; + + gchar *ret; + + ret = NULL; + g_hash_table_iter_init (&iter, zak_aptr_array->ht); + while (g_hash_table_iter_next (&iter, &key, &value)) + { + if (GPOINTER_TO_UINT (value) == idx) + { + ret = g_strdup (key); + break; + } + } + + return ret; +} + /* PRIVATE */ static void zak_aptr_array_set_property (GObject *object, diff --git a/src/aptrarray.h b/src/aptrarray.h index 80735a0..2728255 100644 --- a/src/aptrarray.h +++ b/src/aptrarray.h @@ -1,5 +1,5 @@ /* - * Copyright (C) 2019 Andrea Zagli + * Copyright (C) 2019-2021 Andrea Zagli * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -42,6 +42,8 @@ gpointer zak_aptr_array_lookup (ZakAptrArray *zak_aptr_array, const gchar *name) gint zak_aptr_array_lookup_get_index (ZakAptrArray *zak_aptr_array, const gchar *name); +gchar *zak_aptr_array_lookup_get_name (ZakAptrArray *zak_aptr_array, guint idx); + G_END_DECLS -- 2.49.0