]> git.ipfire.org Git - people/ms/pakfire.git/blobdiff - src/libpakfire/compress.c
compress: Add flag to disable the progress bar
[people/ms/pakfire.git] / src / libpakfire / compress.c
index a83924d207eb1d52aedb0812497e797983f141d8..16c9ef3f3310a295af654008bbe8379feda2e8b2 100644 (file)
@@ -680,6 +680,9 @@ int pakfire_extract(struct pakfire* pakfire, struct archive* archive,
        // Is this a dry run?
        const int dry_run = flags & PAKFIRE_EXTRACT_DRY_RUN;
 
+       // Should we show a progress bar?
+       const int no_progress = flags & PAKFIRE_EXTRACT_NO_PROGRESS;
+
        // Set prefix (including pakfire path)
        r = pakfire_path(pakfire, data.prefix, "%s", prefix);
        if (r)
@@ -696,18 +699,18 @@ int pakfire_extract(struct pakfire* pakfire, struct archive* archive,
        }
 
        // Create the progressbar
-       r = pakfire_extract_progressbar_create(&data.progressbar, message, flags);
-       if (r)
-               goto ERROR;
+       if (!no_progress) {
+               r = pakfire_extract_progressbar_create(&data.progressbar, message, flags);
+               if (r)
+                       goto ERROR;
 
-       // Register progress callback
-       if (data.progressbar)
+               // Register progress callback
                archive_read_extract_set_progress_callback(data.archive,
                        pakfire_extract_progress, &data);
 
-       // Start progressbar
-       if (data.progressbar)
+               // Start progressbar
                pakfire_progressbar_start(data.progressbar, size);
+       }
 
        struct archive_entry* entry = NULL;