Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
(r)query: error when using any argument along with -e
Baptiste Daroussin committed 3 years ago
commit cacd3d72988ff2c3c46d21c99e1f98b03eff6c60
parent 7dcb9a6
2 files changed +17 -0
modified src/query.c
@@ -890,6 +890,7 @@ exec_query(int argc, char **argv)
	const char 		*condition_sql = NULL;
	xstring			*sqlcond = NULL;
	const unsigned int	 q_flags_len = NELEM(accepted_query_flags);
+
	size_t			optscount = 0;

	struct option longopts[] = {
		{ "all",		no_argument,		NULL,	'a' },
@@ -903,6 +904,7 @@ exec_query(int argc, char **argv)
	};

	while ((ch = getopt_long(argc, argv, "+aCe:F:gix", longopts, NULL)) != -1) {
+
		optscount++;
		switch (ch) {
		case 'a':
			match = MATCH_ALL;
@@ -934,6 +936,13 @@ exec_query(int argc, char **argv)
	argc -= optind;
	argv += optind;

+
	if (optscount > 1 && condition != NULL) {
+
		fprintf(stderr, "Usage: pkg query -e <evaluation> <query-format>\n"
+
		    "'-e' flag do not accept any other argument\n");
+
		return (EXIT_FAILURE);
+
	}
+

+

	if (argc == 0) {
		usage_query();
		return (EXIT_FAILURE);
modified src/rquery.c
@@ -122,6 +122,7 @@ exec_rquery(int argc, char **argv)
	bool			 onematched = false;
	bool			 old_quiet;
	bool			 index_output = false;
+
	size_t			 optscount = 0;

	struct option longopts[] = {
		{ "all",		no_argument,		NULL,	'a' },
@@ -139,6 +140,7 @@ exec_rquery(int argc, char **argv)
	portsdir = pkg_object_string(pkg_config_get("PORTSDIR"));

	while ((ch = getopt_long(argc, argv, "+aCgiIxe:r:U", longopts, NULL)) != -1) {
+
		optscount++;
		switch (ch) {
		case 'a':
			match = MATCH_ALL;
@@ -176,6 +178,12 @@ exec_rquery(int argc, char **argv)
	argc -= optind;
	argv += optind;

+
	if (optscount > 1 && condition != NULL) {
+
		fprintf(stderr, "Usage: pkg rquery -e <evaluation> [-r reponame] <query-format>\n"
+
		    "'-e' flag do not accept any other argument\n");
+
		exit(EXIT_FAILURE);
+
	}
+

	if (argc == 0 && !index_output) {
		usage_rquery();
		return (EXIT_FAILURE);