Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Mar 2008 14:00:16 GMT
From:      Ighighi <ighighi@gmail.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   bin/121520: [patch]: support for multiple arguments for dirname(1) just as basename(1) does
Message-ID:  <200803091400.m29E0GAD064795@www.freebsd.org>
Resent-Message-ID: <200803091410.m29EA1Tp079711@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         121520
>Category:       bin
>Synopsis:       [patch]: support for multiple arguments for dirname(1) just as basename(1) does
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sun Mar 09 14:10:01 UTC 2008
>Closed-Date:
>Last-Modified:
>Originator:     Ighighi
>Release:        6.3-STABLE
>Organization:
>Environment:
FreeBSD orion 6.3-STABLE FreeBSD 6.3-STABLE #0: Mon Mar  3 04:45:31 VET 2008     root@orion:/usr/obj/usr/src/sys/CUSTOM  i386

>Description:
This patch adds support for multiple arguments to dirname(1) like basename(1) has
been already.  It's the natural thing to expect, both commands even share the
same manpage.
>How-To-Repeat:

>Fix:


Patch attached with submission follows:

#
# Note: both basename(1) and dirname(1) use basename(1)'s manpage
#

--- src/usr.bin/dirname/dirname.c.orig	Sat May 21 05:55:05 2005
+++ src/usr.bin/dirname/dirname.c	Thu May  3 18:09:12 2007
@@ -66,12 +66,15 @@
 	argc -= optind;
 	argv += optind;
 
-	if (argc != 1)
+	if (argc < 1)
 		usage();
 
-	if ((p = dirname(*argv)) == NULL)
-		err(1, "%s", *argv);
-	(void)printf("%s\n", p);
+	while (argc--) {
+		if ((p = dirname(*argv)) == NULL)
+			err(1, "%s", *argv);
+		argv++;
+		(void)printf("%s\n", p);
+	}
 	exit(0);
 }
 
@@ -79,6 +82,6 @@
 usage(void)
 {
 
-	(void)fprintf(stderr, "usage: dirname string\n");
+	(void)fprintf(stderr, "usage: dirname string [...]\n");
 	exit(1);
 }
--- src/usr.bin/basename/basename.1.orig	Tue Jan 18 09:43:47 2005
+++ src/usr.bin/basename/basename.1	Thu May  3 18:28:27 2007
@@ -52,6 +52,7 @@
 .Op Ar ...
 .Nm dirname
 .Ar string
+.Op Ar ...
 .Sh DESCRIPTION
 The
 .Nm


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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200803091400.m29E0GAD064795>