On Thu, Mar 29, 2018 at 05:41:19PM +0200, Katerina Koukiou wrote: > The functions were copied from src/util/virutil.* files from > libvirt project > > Signed-off-by: Katerina Koukiou <kkoukiou@xxxxxxxxxx> > --- > src/util.c | 27 +++++++++++++++++++++++++++ > src/util.h | 28 ++++++++++++++++++++++++++++ > 2 files changed, 55 insertions(+) > > diff --git a/src/util.c b/src/util.c > index d6c27f3..3179dd7 100644 > --- a/src/util.c > +++ b/src/util.c > @@ -124,3 +124,30 @@ virtDBusUtilVirDomainListFree(virDomainPtr *domains) > > g_free(domains); > } > + > +const gchar * > +virtDBusUtilEnumToString(const gchar *const*types, s/*const*types/*const *types/ > + guint ntypes, > + gint type) > +{ > + if (type < 0 || (unsigned)type >= ntypes) s/unsigned/guint/ > + return NULL; > + > + return types[type]; > +} > + > +gint > +virtDBusUtilEnumFromString(const gchar *const*types, s/*const*types/*const *types/ > + guint ntypes, > + const gchar *type) > +{ > + guint i; > + if (!type) > + return -1; > + > + for (i = 0; i < ntypes; i++) > + if (strcmp(types[i], type) == 0) You can use g_str_equal here. > + return i; > + > + return -1; > +} > diff --git a/src/util.h b/src/util.h > index 4304bac..61e01c9 100644 > --- a/src/util.h > +++ b/src/util.h > @@ -37,3 +37,31 @@ virtDBusUtilVirDomainListFree(virDomainPtr *domains); > > G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomain, virDomainFree); > G_DEFINE_AUTOPTR_CLEANUP_FUNC(virDomainPtr, virtDBusUtilVirDomainListFree); > + > +gint > +virtDBusUtilEnumFromString(const gchar *const*types, s/*const*types/*const *types/ > + guint ntypes, > + const gchar *type) G_GNUC_PURE; > + > +const gchar * > +virtDBusUtilEnumToString(const gchar *const*types, s/*const*types/*const *types/ > + guint ntypes, > + gint type) G_GNUC_PURE; > + > +# define VIRT_DBUS_ENUM_IMPL(name, lastVal, ...) \ Remove the extra space after #. > + static const gchar *const name ##TypeList[] = { __VA_ARGS__ }; \ > + G_STATIC_ASSERT(G_N_ELEMENTS(name ##TypeList) == lastVal); \ > + const gchar *name ##TypeToString(int type) { \ s/int/gint/ > + return virtDBusUtilEnumToString(name ##TypeList, \ > + G_N_ELEMENTS(name ##TypeList), \ > + type); \ > + } \ > + gint name ##TypeFromString(const gchar *type) { \ > + return virtDBusUtilEnumFromString(name ##TypeList, \ > + G_N_ELEMENTS(name ##TypeList), \ > + type); \ > + } > + > +# define VIRT_DBUS_ENUM_DECL(name) \ Remove the extra space after #. > + const gchar *name ##TypeToString(gint type) G_GNUC_PURE; \ > + gint name ##TypeFromString(const gchar*type) G_GNUC_PURE; s/gchar*type/gchar *type/ If you fix these small issues mostly introduced by copying the code Reviewed-by: Pavel Hrdina <phrdina@xxxxxxxxxx>
Attachment:
signature.asc
Description: PGP signature
-- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list