Date: Sun, 20 Feb 2000 15:37:10 -0500 (EST) From: jack@germanium.xtalwind.net To: FreeBSD-gnats-submit@freebsd.org Subject: misc/16839: MFC Matthew D. Fuller's patch to deal with full pathnames" Message-ID: <200002202037.PAA03376@germanium.xtalwind.net>
next in thread | raw e-mail | index | archive | help
>Number: 16839 >Category: misc >Synopsis: MFC Matthew D. Fuller's patch to deal with full pathnames" >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 Feb 20 12:40:00 PST 2000 >Closed-Date: >Last-Modified: >Originator: >Release: FreeBSD 3.4-STABLE i386 >Organization: >Environment: >Description: Matthew D. Fuller's "Teach pkg_delete how to deal with full pathnames" (/var/db/pkg/foo-1.0, instead of just foo-1.0) with Jordan's style fix. >How-To-Repeat: >Fix: --- main.c.orig Sun Aug 29 11:45:18 1999 +++ main.c Sun Feb 20 15:29:50 2000 @@ -41,6 +41,7 @@ { int ch, error; char **pkgs, **start; + char *pkgs_split; pkgs = start = argv; while ((ch = getopt(argc, argv, Options)) != -1) @@ -82,8 +83,26 @@ /* Get all the remaining package names, if any */ /* Get all the remaining package names, if any */ - while (*argv) - *pkgs++ = *argv++; + while (*argv) { + if ((pkgs_split = rindex(*argv, (int)'/')) != NULL) { + while (!isalpha(*(pkgs_split + 1))) { + *pkgs_split = '\0'; + if ((pkgs_split = rindex(*argv, (int) '/')) == NULL) + pkgs_split = *argv; + } + if (pkgs_split != NULL) { + if (*pkgs_split == '/') + pkgs_split++; + *pkgs = pkgs_split; + pkgs++; + } + } + else { + *pkgs = *argv; + pkgs++; + } + argv++; + } /* If no packages, yelp */ if (pkgs == start) >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200002202037.PAA03376>