Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Allow pkg lock -l or pkg unlock -l to list locks with out actually (un)locking anything.
Matthew Seaman committed 11 years ago
commit 408c3bc6bb5a5bb31464d6691a29a995acd9af40
parent bb236a6
1 file changed +19 -17
modified src/lock.c
@@ -48,10 +48,8 @@ static bool yes = false; /* Assume yes answer to questions */
void
usage_lock(void)
{
-
	fprintf(stderr, "Usage: pkg lock [-lqy] [-Cgix] <pkg-name>\n");
-
	fprintf(stderr, "       pkg lock [-lqy] -al\n");
-
	fprintf(stderr, "       pkg unlock [-lqy] [-Cgix] <pkg-name>\n");
-
	fprintf(stderr, "       pkg unlock [-lqy] -a\n");
+
	fprintf(stderr, "Usage: pkg lock [-lqy] [-a|[-Cgix] <pkg-name>]\n");
+
	fprintf(stderr, "       pkg unlock [-lqy] [-a|[-Cgix] <pkg-name>]\n");
	fprintf(stderr, "For more information see 'pkg help lock'.\n");
}

@@ -191,7 +189,9 @@ exec_lock_unlock(int argc, char **argv, enum action action)
	argc -= optind;
	argv += optind;

-
	if (!(match == MATCH_ALL && argc == 0) && argc != 1) {
+
	
+

+
	if (!(match == MATCH_ALL && argc == 0) && argc != 1 && !show_locked) {
		usage_lock();
		return (EX_USAGE);
	}
@@ -228,21 +228,23 @@ exec_lock_unlock(int argc, char **argv, enum action action)
		return (EX_TEMPFAIL);
	}

-
	if ((it = pkgdb_query(db, pkgname, match)) == NULL) {
-
		exitcode = EX_IOERR;
-
		goto cleanup;
-
	}
-

-
	while ((retcode = pkgdb_it_next(it, &pkg, 0)) == EPKG_OK) {
-
		if (action == LOCK)
-
			retcode = do_lock(db, pkg);
-
		else
-
			retcode = do_unlock(db, pkg);
-

-
		if (retcode != EPKG_OK) {
+
	if (match == MATCH_ALL || argc != 0) {
+
		if ((it = pkgdb_query(db, pkgname, match)) == NULL) {
			exitcode = EX_IOERR;
			goto cleanup;
		}
+

+
		while ((retcode = pkgdb_it_next(it, &pkg, 0)) == EPKG_OK) {
+
			if (action == LOCK)
+
				retcode = do_lock(db, pkg);
+
			else
+
				retcode = do_unlock(db, pkg);
+

+
			if (retcode != EPKG_OK) {
+
				exitcode = EX_IOERR;
+
				goto cleanup;
+
			}
+
		}
	}

	if (show_locked)