Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Add a progress bar for package deletion
Baptiste Daroussin committed 11 years ago
commit b111d0e248f1431e003a0e2a91b2ac591ced4f95
parent 2fe6c0b
2 files changed +8 -13
modified libpkg/pkg_delete.c
@@ -142,11 +142,17 @@ pkg_delete_files(struct pkg *pkg, unsigned force)
	char		 sha256[SHA256_DIGEST_LENGTH * 2 + 1];
	const char	*path;
	char		fpath[MAXPATHLEN];
+
	int		nfiles, cur_file;

+
	nfiles = HASH_COUNT(pkg->files);
+
	cur_file = 1;
+

+
	pkg_emit_progress_start(NULL);
	while (pkg_files(pkg, &file) == EPKG_OK) {
		const char *sum = pkg_file_cksum(file);
		const ucl_object_t *obj, *an;

+
		pkg_emit_progress_tick(cur_file++, nfiles);
		if (file->keep == 1)
			continue;

modified src/event.c
@@ -466,28 +466,17 @@ event_callback(void *data, struct pkg_event *ev)
		if (quiet)
			break;
		else {
-
			struct sbuf	*msg;
-

			nbdone++;

-
			msg = sbuf_new_auto();
-
			if (msg == NULL) {
-
				warn("sbuf_new_auto() failed");
-
				break;
-
			}
-

-
			print_status_begin(msg);
+
			print_status_begin(msg_buf);

			pkg = ev->e_install_begin.pkg;
-
			pkg_sbuf_printf(msg, "Deleting %n-%v...", pkg, pkg);
-

-
			print_status_end(msg);
+
			pkg_sbuf_printf(msg_buf, "Deleting %n-%v", pkg, pkg);
		}
		break;
	case PKG_EVENT_DEINSTALL_FINISHED:
		if (quiet)
			break;
-
		printf(" done\n");
		break;
	case PKG_EVENT_UPGRADE_BEGIN:
		if (quiet)