/*
* upkg: tool for manipulating Unreal Tournament packages.
- * Copyright © 2009-2011 Nick Bowler
+ * Copyright © 2009-2012, 2015 Nick Bowler
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <config.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
{
g_return_val_if_fail(IS_U_PKG(pkg), NULL);
- const char *class, *package;
+ const struct upkg_export *export;
GObject *obj = NULL;
GType type;
- class = upkg_export_class(U_PKG(pkg)->pkg, idx, &package);
- if (!class)
+ export = upkg_get_export(U_PKG(pkg)->pkg, idx);
+ if (!export) {
+ u_err(pkg, "invalid package export: %lu", idx);
return NULL;
+ }
- type = u_object_module_get_class(package, class);
+ type = u_object_module_get_class(pkg, export->class);
if (type) {
obj = g_object_new(type, NULL);
if (u_object_deserialize(obj, pkg, idx) != 0) {