Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
Merge pull request #458 from kAworu/master
Baptiste Daroussin committed 13 years ago
commit 3fcbc36c81e00f14e1be8832690d06aa22952777
parent a855c8f
4 files changed +20 -10
modified pkg/info.c
@@ -220,17 +220,11 @@ exec_info(int argc, char **argv)
	do {
		gotone = false;
		pkgname = argv[i];
-
		if (match != MATCH_ALL && pkgname[0] == '\0') {
-
			fprintf(stderr, "Pattern must not be empty.\n");
-
			i++;
-
			continue;
-
		}

		/*
		 * allow to search for origin with a trailing /
		 * likes audio/linux-vsound depending on ${PORTSDIR}/audio/sox/
		 */
-

		if (argc > 0 && pkgname[strlen(pkgname) -1] == '/')
			pkgname[strlen(pkgname) -1] = '\0';

@@ -306,8 +300,13 @@ exec_info(int argc, char **argv)
				}
				j++;
			}
-
		} else
-
			pkgversion = NULL;
+
		}
+

+
		if (match != MATCH_ALL && pkgname[0] == '\0') {
+
			fprintf(stderr, "Pattern must not be empty.\n");
+
			i++;
+
			continue;
+
		}

		if ((it = pkgdb_query(db, pkgname, match)) == NULL) {
			return (EX_IOERR);
modified pkg/pkg-query.8
@@ -271,6 +271,9 @@ for further description.
.Bl -tag -width ".Ev NO_DESCRIPTIONS"
.It Ev PKG_DBDIR
.El
+
.Sh EXIT STATUS
+
.Nm
+
exits 0 on success, and >0 if an error occurs.
.Sh FILES
See
.Xr pkg.conf 5 .
modified pkg/query.c
@@ -939,14 +939,17 @@ exec_query(int argc, char **argv)

		pkgdb_it_free(it);
	} else {
+
		int nprinted = 0;
		for (i = 1; i < argc; i++) {
			pkgname = argv[i];

			if ((it = pkgdb_query(db, pkgname, match)) == NULL)
				return (EX_IOERR);

-
			while ((ret = pkgdb_it_next(it, &pkg, query_flags)) == EPKG_OK)
+
			while ((ret = pkgdb_it_next(it, &pkg, query_flags)) == EPKG_OK) {
+
				nprinted++;
				print_query(pkg, argv[0], multiline);
+
			}

			if (ret != EPKG_END) {
				retcode = EX_SOFTWARE;
@@ -955,6 +958,11 @@ exec_query(int argc, char **argv)

			pkgdb_it_free(it);
		}
+
		if (nprinted == 0 && retcode == EX_OK) {
+
			/* ensure to return a non-zero status when no package
+
			 were found. */
+
			retcode = EX_UNAVAILABLE;
+
		}
	}

	pkg_free(pkg);
modified pkg/search.c
@@ -313,7 +313,7 @@ exec_search(int argc, char **argv)

	pattern = argv[0];
	if (pattern[0] == '\0') {
-
		fprintf(stderr, "Pattern must not be empty!\n");
+
		fprintf(stderr, "Pattern must not be empty.\n");
		return (EX_USAGE);
	}
	if (search == FIELD_NONE) {