From 8afa7b7717a5a2f45182a63d043401960fdeef92 Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Tue, 15 May 2012 20:23:43 -0400 Subject: [PATCH] upkg: Use proper library routines in package_export. Not sure why this function contained a complete re-implementation of u_object_new_from_package, but here we are. Call the appropriate library function to eliminate a pile of code. --- src/upkg.c | 21 +++------------------ 1 file changed, 3 insertions(+), 18 deletions(-) diff --git a/src/upkg.c b/src/upkg.c index 5a51c2e..176eca9 100644 --- a/src/upkg.c +++ b/src/upkg.c @@ -415,28 +415,13 @@ out: int package_export(GTypeModule *pkg) { struct upkg *upkg = U_PKG(pkg)->pkg; - const char *class, *package; GObject *obj; - GType type; int ret = 0; for (unsigned i = 0; i < upkg->export_count; i++) { - class = upkg_export_class(upkg, i, &package); - if (!class) { - fprintf(stderr, "error getting class information.\n"); - return -1; - } - - type = u_object_module_get_class(package, class); - if (!type) - continue; - - obj = g_object_new(type, NULL); - if (U_OBJECT_IS_EXPORTABLE(obj)) { - if (u_object_deserialize(obj, upkg, i) != 0 - || export(pkg, obj, i) != 0) { - ret = -1; - } + obj = u_object_new_from_package(upkg, i); + if (U_OBJECT_IS_EXPORTABLE(obj) && export(pkg, obj, i) != 0) { + ret = -1; } g_object_unref(obj); } -- 2.43.0