X-Git-Url: https://git.draconx.ca/gitweb/upkg.git/blobdiff_plain/c85943d37456ef89f914bb1043f734deb8904dad..3896f18892f87f3c354cb47965c4064d3ff26f5d:/src/libupkg.c diff --git a/src/libupkg.c b/src/libupkg.c index d5203b4..3f07095 100644 --- a/src/libupkg.c +++ b/src/libupkg.c @@ -251,7 +251,7 @@ static int pkg_init_exports(struct upkg *pkg) len += rc; if (nbuf-len < 4) goto err; - export->package = unpack_32_le(buf+len); + export->package = unpack_s32_le(buf+len); len += 4; rc = upkg_decode_index(&tmp, buf+len, nbuf-len); @@ -323,7 +323,7 @@ static int pkg_init_imports(struct upkg *pkg) len += rc; if (nbuf-len < 4) goto err; - import->package = unpack_32_le(buf+len); + import->package = unpack_s32_le(buf+len); len += 4; rc = upkg_decode_index(&tmp, buf+len, nbuf-len); @@ -444,7 +444,7 @@ const char *upkg_export_name(struct upkg *pkg, unsigned long idx) } const char *upkg_export_class(struct upkg *pkg, unsigned long idx, - const char **package, const char **group) + const char **package) { struct upkg_export *export; struct upkg_import *iclass, *ipackage; @@ -461,27 +461,6 @@ const char *upkg_export_class(struct upkg *pkg, unsigned long idx, return NULL; } - /* ASSUMPTION: group references are always exports */ - if (export->package < 0) { - fprintf(stderr, "Assumption Violated: group not export\n"); - return NULL; - } - - /* Get the group name. */ - if (export->package > 0) { - pkg_idx = export->package - 1; - - if (pkg_idx >= pkg->export_count) { - return NULL; - } - - /* Lots more to handle. Function arguments are stupid. */ - - if (group) *group = pkg->priv->exports[pkg_idx].name; - } else { - if (group) *group = NULL; - } - /* Get the class. */ if (export->class == 0) { if (package) *package = "Core";