]> git.draconx.ca Git - upkg.git/blobdiff - src/upkg.c
libupkg: Remove checks for an unsigned quantity being less than 0.
[upkg.git] / src / upkg.c
index 94ace921cb22dde2558e26f7a4c9daa33b51705d..2c268b4c5cdafb97fcc6894b5539f9fbcc1d6ef9 100644 (file)
@@ -28,6 +28,7 @@
 #include <uobject/exportable.h>
 #include <uobject/loadable.h>
 #include <uobject/module.h>
+#include <uobject/package.h>
 
 enum {
        MODE_INFO,
@@ -186,7 +187,9 @@ void print_upkg_exports(struct upkg *pkg)
 
                printf("%u - %s (%s.%s)\n", i+1, name, package, class);
                printf("  Flags: %lx\n", upkg_export_flags(pkg, i));
-               print_upkg_object_flags("    ", upkg_export_flags(pkg, i));
+               if (verbose >= 2) {
+                       print_upkg_object_flags("    ", upkg_export_flags(pkg, i));
+               }
        }
 }
 
@@ -198,16 +201,14 @@ int package_info(struct upkg *pkg)
        print_guid(pkg->guid);
 
        printf("Flags:   %lx\n", pkg->flags);
-       if (verbose >= 1) {
+       if (verbose >= 2) {
                print_upkg_flags("        ", pkg->flags);
        }
 
-       if (verbose >= 1) {
-               printf("Names:   %lu\n", pkg->name_count);
-               if (verbose >= 2) {
-                       for (unsigned long i = 0; i < pkg->name_count; i++) {
-                               printf("\t%s\n", upkg_get_name(pkg, i));
-                       }
+       printf("Names:   %lu\n", pkg->name_count);
+       if (verbose >= 3) {
+               for (unsigned long i = 0; i < pkg->name_count; i++) {
+                       printf("\t%s\n", upkg_get_name(pkg, i));
                }
        }
 
@@ -285,7 +286,7 @@ int package_export(struct upkg *pkg)
 
 int main(int argc, char **argv)
 {
-       struct upkg *pkg;
+       UPkg *upkg;
        unsigned mode = MODE_INFO;
        int opt, rc = EXIT_FAILURE;
 
@@ -322,22 +323,22 @@ int main(int argc, char **argv)
        if (u_object_module_init() != 0)
                return EXIT_FAILURE;
 
-       pkg = upkg_fopen(argv[optind]);
-       if (!pkg) {
+       upkg = U_PKG(u_pkg_new_by_file(argv[optind]));
+       if (!upkg) {
                fprintf(stderr, "failed to open package!\n");
                return EXIT_FAILURE;
        }
 
        switch (mode) {
        case MODE_INFO:
-               rc = package_info(pkg);
+               rc = package_info(upkg->pkg);
                break;
        case MODE_EXPORT:
-               rc = package_export(pkg);
+               rc = package_export(upkg->pkg);
                break;
        }
 
-       upkg_close(pkg);
+       g_object_unref(upkg);
        u_object_module_exit();
        return rc;
 }