summaryrefslogtreecommitdiff
path: root/usr.sbin
diff options
context:
space:
mode:
authorMarc Espie <espie@cvs.openbsd.org>1998-11-19 04:12:56 +0000
committerMarc Espie <espie@cvs.openbsd.org>1998-11-19 04:12:56 +0000
commitd6f5dbf5092347a35cb3f66847e1db079417d02a (patch)
tree72708eff171c4ac949f8ad975b4e52fbdd1e72b4 /usr.sbin
parentab504293aa6252be025e2a3a473cce168923c75a (diff)
- fix pkg_info to give more rational summary when COMMENTS files are weird.
- warn when COMMENT > 60 characters. *** In one month we turn this into an error -> fix packages files ***
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/pkg_install/create/perform.c8
-rw-r--r--usr.sbin/pkg_install/info/info.h6
-rw-r--r--usr.sbin/pkg_install/info/perform.c9
-rw-r--r--usr.sbin/pkg_install/info/show.c27
-rw-r--r--usr.sbin/pkg_install/lib/lib.h7
5 files changed, 31 insertions, 26 deletions
diff --git a/usr.sbin/pkg_install/create/perform.c b/usr.sbin/pkg_install/create/perform.c
index 2d21c427288..825503c9512 100644
--- a/usr.sbin/pkg_install/create/perform.c
+++ b/usr.sbin/pkg_install/create/perform.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: perform.c,v 1.6 1998/10/13 23:09:50 marc Exp $ */
+/* $OpenBSD: perform.c,v 1.7 1998/11/19 04:12:55 espie Exp $ */
#ifndef lint
-static const char *rcsid = "$OpenBSD: perform.c,v 1.6 1998/10/13 23:09:50 marc Exp $";
+static const char *rcsid = "$OpenBSD: perform.c,v 1.7 1998/11/19 04:12:55 espie Exp $";
#endif
/*
@@ -52,6 +52,10 @@ pkg_perform(char **pkgs)
if (Verbose && !PlistOnly)
printf("Creating package %s\n", pkg);
get_dash_string(&Comment);
+ if (strlen(Comment) > MAXINDEXSIZE && !PlistOnly) {
+ warnx("Comment string is over %d characters long:\n%s",
+ MAXINDEXSIZE, Comment);
+ }
get_dash_string(&Desc);
if (!strcmp(Contents, "-"))
pkg_in = stdin;
diff --git a/usr.sbin/pkg_install/info/info.h b/usr.sbin/pkg_install/info/info.h
index 32cdc68cc71..6e7623b52c5 100644
--- a/usr.sbin/pkg_install/info/info.h
+++ b/usr.sbin/pkg_install/info/info.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: info.h,v 1.2 1998/10/13 23:09:51 marc Exp $ */
+/* $OpenBSD: info.h,v 1.3 1998/11/19 04:12:55 espie Exp $ */
/*
* FreeBSD install - a package for the installation and maintainance
@@ -23,10 +23,6 @@
#ifndef _INST_INFO_H_INCLUDE
#define _INST_INFO_H_INCLUDE
-#ifndef MAXINDEXSIZE
-#define MAXINDEXSIZE 60
-#endif
-
#ifndef MAXNAMESIZE
#define MAXNAMESIZE 20
#endif
diff --git a/usr.sbin/pkg_install/info/perform.c b/usr.sbin/pkg_install/info/perform.c
index 5f9cf1011a3..b1cb852a98a 100644
--- a/usr.sbin/pkg_install/info/perform.c
+++ b/usr.sbin/pkg_install/info/perform.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: perform.c,v 1.5 1998/10/13 23:09:51 marc Exp $ */
+/* $OpenBSD: perform.c,v 1.6 1998/11/19 04:12:55 espie Exp $ */
#ifndef lint
-static const char *rcsid = "$OpenBSD: perform.c,v 1.5 1998/10/13 23:09:51 marc Exp $";
+static const char *rcsid = "$OpenBSD: perform.c,v 1.6 1998/11/19 04:12:55 espie Exp $";
#endif
/*
@@ -132,10 +132,7 @@ pkg_do(char *pkg)
* any sense.
*/
if (Flags & SHOW_INDEX) {
- char tmp[FILENAME_MAX];
-
- snprintf(tmp, FILENAME_MAX, "%-19s ", pkg);
- show_index(tmp, COMMENT_FNAME);
+ show_index(pkg, COMMENT_FNAME);
} else {
/* Start showing the package contents */
if (!Quiet)
diff --git a/usr.sbin/pkg_install/info/show.c b/usr.sbin/pkg_install/info/show.c
index 582d06a21d1..df068142fee 100644
--- a/usr.sbin/pkg_install/info/show.c
+++ b/usr.sbin/pkg_install/info/show.c
@@ -1,7 +1,7 @@
-/* $OpenBSD: show.c,v 1.4 1998/10/13 23:09:51 marc Exp $ */
+/* $OpenBSD: show.c,v 1.5 1998/11/19 04:12:55 espie Exp $ */
#ifndef lint
-static const char *rcsid = "$OpenBSD: show.c,v 1.4 1998/10/13 23:09:51 marc Exp $";
+static const char *rcsid = "$OpenBSD: show.c,v 1.5 1998/11/19 04:12:55 espie Exp $";
#endif
/*
@@ -87,21 +87,24 @@ show_index(char *title, char *fname)
FILE *fp;
char line[MAXINDEXSIZE+2];
+ strcpy(line, "???\n");
+
if (!Quiet) {
- printf("%s%s", InfoPrefix, title);
+ printf("%s%-19s", InfoPrefix, title);
}
if ((fp = fopen(fname, "r")) == (FILE *) NULL) {
- warnx("show_file: can't open '%s' for reading", fname);
- return;
- }
- if (fgets(line, MAXINDEXSIZE+1, fp)) {
- if (line[MAXINDEXSIZE-1] != '\n') {
- line[MAXINDEXSIZE] = '\n';
+ warnx("show_file (%s): can't open '%s' for reading", title, fname);
+ }
+ else {
+ if (fgets(line, MAXINDEXSIZE+1, fp)) {
+ if (line[MAXINDEXSIZE-1] != '\n') {
+ line[MAXINDEXSIZE] = '\n';
+ }
+ line[MAXINDEXSIZE+1] = 0;
}
- line[MAXINDEXSIZE+1] = 0;
- (void) fputs(line, stdout);
+ (void) fclose(fp);
}
- (void) fclose(fp);
+ (void) fputs(line, stdout);
}
/* Show a packing list item type. If type is PLIST_SHOW_ALL, show all */
diff --git a/usr.sbin/pkg_install/lib/lib.h b/usr.sbin/pkg_install/lib/lib.h
index 2e658b44aad..c2368fa78d4 100644
--- a/usr.sbin/pkg_install/lib/lib.h
+++ b/usr.sbin/pkg_install/lib/lib.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: lib.h,v 1.3 1998/10/13 23:09:53 marc Exp $ */
+/* $OpenBSD: lib.h,v 1.4 1998/11/19 04:12:55 espie Exp $ */
/*
* FreeBSD install - a package for the installation and maintainance
@@ -78,6 +78,11 @@
/* The name of the "prefix" environment variable given to scripts */
#define PKG_PREFIX_VNAME "PKG_PREFIX"
+/* maximum size of comment that will fit on one line */
+#ifndef MAXINDEXSIZE
+#define MAXINDEXSIZE 60
+#endif
+
/* enumerated constants for plist entry types */
typedef enum pl_ent_t {
PLIST_SHOW_ALL = -1,