Subject: pkg/22207: digest utility (pkgtools/digest) reports wrong usage line
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <eikemeier@fillmore-labs.com>
List: netbsd-bugs
Date: 07/21/2003 13:54:28
>Number:         22207
>Category:       pkg
>Synopsis:       digest utility (pkgtools/digest) reports wrong usage line
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Jul 21 13:55:00 UTC 2003
>Closed-Date:
>Last-Modified:
>Originator:     Oliver Eikemeier
>Release:        1.6
>Organization:
Fillmore Labs - http://www.fillmore-labs.com
>Environment:
FreeBSD nuuk.fillmore-labs.com 4.8-STABLE
>Description:
The digest utility assumes that *argv is the program name *after*
incrementing argv by optind, which lets argv point to the last argument.
>How-To-Repeat:
Enter 'digest' without a parameter:

# digest
Usage: (null) algorithm [file...]

Tested only on FreeBSD, sorry...
>Fix:
--- digest.c.orig	Mon Jul 21 14:42:03 2003
+++ digest.c	Mon Jul 21 14:42:53 2003
@@ -165,12 +165,13 @@
 		}
 	}
 	argc -= optind;
-	argv += optind;
 	
 	if (argc == 0) {
 		(void) fprintf(stderr, "Usage: %s algorithm [file...]\n", *argv);
 		return EXIT_FAILURE;
 	}
+	argv += optind;
+
 	if ((alg = find_algorithm(argv[0])) == NULL) {
 		(void) fprintf(stderr, "No such algorithm `%s'\n", argv[0]);
 		exit(EXIT_FAILURE);

>Release-Note:
>Audit-Trail:
>Unformatted: