bin/53375: pkg_info does not display index properly
Gil Kloepfer
gil at arlut.utexas.edu
Mon Jun 16 07:10:17 PDT 2003
>Number: 53375
>Category: bin
>Synopsis: pkg_info does not display index properly
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: freebsd-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: current-users
>Arrival-Date: Mon Jun 16 07:10:15 PDT 2003
>Closed-Date:
>Last-Modified:
>Originator: Gil Kloepfer
>Release: FreeBSD 4.8-RELEASE i386
>Organization:
UT Applied Research Laboratories
>Environment:
System: FreeBSD csdlap3.arlut.utexas.edu 4.8-RELEASE FreeBSD 4.8-RELEASE #0: Thu Jun 12 17:06:10 CDT 2003 gil at csdlap3.arlut.utexas.edu:/usr/src/sys/compile/ARLINSP8K i386
>Description:
pkg_info with no args (index) does not print a newline at the
end of each package. This causes the entire package list
to be displayed as one line.
>How-To-Repeat:
Install the following three packages on a clean system:
compat3x-i386-4.4.20020925
javavmwrapper-1.4
jre-1.1.8
Then type pkg_info.
>Fix:
Apply the following patch to /usr/src/usr.sbin/pkg_install/info/show.c:
-- Cut Here -- -- Cut Here -- -- Cut Here -- -- Cut Here -- -- Cut Here --
--- show.c Mon Jun 16 08:57:41 2003
+++ show.c.ORIG Tue Aug 20 01:35:08 2002
@@ -54,7 +54,6 @@
{
FILE *fp;
char line[MAXINDEXSIZE+2];
- int lastc;
if (!Quiet)
printf("%s%s", InfoPrefix, title);
@@ -64,13 +63,11 @@
return;
}
if(fgets(line, MAXINDEXSIZE+1, fp)) {
- line[MAXINDEXSIZE+1] = 0;
+ if(line[MAXINDEXSIZE-1] != '\n')
+ line[MAXINDEXSIZE] = '\n';
+ line[MAXINDEXSIZE+1] = 0;
fputs(line, stdout);
- lastc = strlen(line);
- if(lastc > 0 && line[lastc-1] != '\n')
- putchar('\n');
- } else
- putchar('\n');
+ }
fclose(fp);
}
-- Cut Here -- -- Cut Here -- -- Cut Here -- -- Cut Here -- -- Cut Here --
Note that this patch also fixes the case where no lines can be
read from the package file (the newline would also be missing).
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-bugs
mailing list