svn commit: r231108 - stable/9/usr.sbin/pkg_install/info
Ed Maste
emaste at FreeBSD.org
Tue Feb 7 03:34:57 UTC 2012
Author: emaste
Date: Tue Feb 7 03:34:57 2012
New Revision: 231108
URL: http://svn.freebsd.org/changeset/base/231108
Log:
MFC r226697 and r226708:
Avoid printing // for packages that install to /
I have some packages that install to / (for whatever reason). Right now we
print entries of the form //path/to/file when listing files (pkg_info -L,
pkg_info -g etc.) This change avoids printing the redundant / .
Staticify elide_root() for now to fix build.
Modified:
stable/9/usr.sbin/pkg_install/info/show.c
Directory Properties:
stable/9/usr.sbin/pkg_install/info/ (props changed)
Modified: stable/9/usr.sbin/pkg_install/info/show.c
==============================================================================
--- stable/9/usr.sbin/pkg_install/info/show.c Tue Feb 7 03:15:12 2012 (r231107)
+++ stable/9/usr.sbin/pkg_install/info/show.c Tue Feb 7 03:34:57 2012 (r231108)
@@ -207,6 +207,14 @@ show_plist(const char *title, Package *p
}
}
+static const char *
+elide_root(const char *dir)
+{
+ if (strcmp(dir, "/") == 0)
+ return "";
+ return dir;
+}
+
/* Show all files in the packing list (except ignored ones) */
void
show_files(const char *title, Package *plist)
@@ -223,7 +231,7 @@ show_files(const char *title, Package *p
switch(p->type) {
case PLIST_FILE:
if (!ign)
- printf("%s/%s\n", dir, p->name);
+ printf("%s/%s\n", elide_root(dir), p->name);
ign = FALSE;
break;
@@ -270,7 +278,7 @@ show_size(const char *title, Package *pl
switch (p->type) {
case PLIST_FILE:
if (!ign) {
- snprintf(tmp, FILENAME_MAX, "%s/%s", dir, p->name);
+ snprintf(tmp, FILENAME_MAX, "%s/%s", elide_root(dir), p->name);
if (!lstat(tmp, &sb)) {
size += sb.st_size;
if (Verbose)
@@ -328,7 +336,7 @@ show_cksum(const char *title, Package *p
else
dir = p->name;
} else if (p->type == PLIST_FILE) {
- snprintf(tmp, FILENAME_MAX, "%s/%s", dir, p->name);
+ snprintf(tmp, FILENAME_MAX, "%s/%s", elide_root(dir), p->name);
if (!fexists(tmp))
warnx("%s doesn't exist", tmp);
else if (p->next && p->next->type == PLIST_COMMENT &&
More information about the svn-src-stable-9
mailing list