summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pkg_install
diff options
context:
space:
mode:
authorsobomax <sobomax@FreeBSD.org>2001-10-10 06:58:42 +0000
committersobomax <sobomax@FreeBSD.org>2001-10-10 06:58:42 +0000
commitf868b9c47960524d92db14074160719f0443e89d (patch)
tree1de2e807d5d23d9f6bc7f84146adea4b1a5d4d51 /usr.sbin/pkg_install
parent84f950f9779920910dd92f9d0d2fed07abb54e35 (diff)
downloadFreeBSD-src-f868b9c47960524d92db14074160719f0443e89d.zip
FreeBSD-src-f868b9c47960524d92db14074160719f0443e89d.tar.gz
WARNS=2 cleanup.
Tested on: i386, alpha MFC after: 2 weeks
Diffstat (limited to 'usr.sbin/pkg_install')
-rw-r--r--usr.sbin/pkg_install/add/Makefile2
-rw-r--r--usr.sbin/pkg_install/add/add.h4
-rw-r--r--usr.sbin/pkg_install/add/extract.c21
-rw-r--r--usr.sbin/pkg_install/add/futil.c4
-rw-r--r--usr.sbin/pkg_install/add/main.c2
-rw-r--r--usr.sbin/pkg_install/add/perform.c24
-rw-r--r--usr.sbin/pkg_install/create/Makefile2
-rw-r--r--usr.sbin/pkg_install/create/create.h4
-rw-r--r--usr.sbin/pkg_install/create/perform.c28
-rw-r--r--usr.sbin/pkg_install/create/pl.c19
-rw-r--r--usr.sbin/pkg_install/delete/Makefile2
-rw-r--r--usr.sbin/pkg_install/delete/main.c2
-rw-r--r--usr.sbin/pkg_install/info/Makefile2
-rw-r--r--usr.sbin/pkg_install/info/info.h14
-rw-r--r--usr.sbin/pkg_install/info/main.c2
-rw-r--r--usr.sbin/pkg_install/info/perform.c17
-rw-r--r--usr.sbin/pkg_install/info/show.c24
-rw-r--r--usr.sbin/pkg_install/lib/Makefile2
-rw-r--r--usr.sbin/pkg_install/lib/deps.c2
-rw-r--r--usr.sbin/pkg_install/lib/exec.c1
-rw-r--r--usr.sbin/pkg_install/lib/file.c57
-rw-r--r--usr.sbin/pkg_install/lib/lib.h62
-rw-r--r--usr.sbin/pkg_install/lib/match.c15
-rw-r--r--usr.sbin/pkg_install/lib/msg.c4
-rw-r--r--usr.sbin/pkg_install/lib/pen.c14
-rw-r--r--usr.sbin/pkg_install/lib/plist.c23
-rw-r--r--usr.sbin/pkg_install/lib/str.c6
27 files changed, 184 insertions, 175 deletions
diff --git a/usr.sbin/pkg_install/add/Makefile b/usr.sbin/pkg_install/add/Makefile
index b93e0c5..b72511a 100644
--- a/usr.sbin/pkg_install/add/Makefile
+++ b/usr.sbin/pkg_install/add/Makefile
@@ -5,6 +5,8 @@ SRCS= main.c perform.c futil.c extract.c
CFLAGS+= ${DEBUG} -I${.CURDIR}/../lib
+WARNS?= 2
+
DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD}
LDADD= ${LIBINSTALL} -lfetch -lmd
diff --git a/usr.sbin/pkg_install/add/add.h b/usr.sbin/pkg_install/add/add.h
index 8ef0555..b64cef7 100644
--- a/usr.sbin/pkg_install/add/add.h
+++ b/usr.sbin/pkg_install/add/add.h
@@ -38,7 +38,7 @@ extern char FirstPen[];
extern add_mode_t AddMode;
int make_hierarchy(char *);
-void extract_plist(char *, Package *);
-void apply_perms(char *, char *);
+void extract_plist(const char *, Package *);
+void apply_perms(const char *, const char *);
#endif /* _INST_ADD_H_INCLUDE */
diff --git a/usr.sbin/pkg_install/add/extract.c b/usr.sbin/pkg_install/add/extract.c
index 945a305..b1ae460 100644
--- a/usr.sbin/pkg_install/add/extract.c
+++ b/usr.sbin/pkg_install/add/extract.c
@@ -29,17 +29,17 @@ static const char rcsid[] =
#define STARTSTRING "tar cf - "
-#define TOOBIG(str) ((strlen(str) + FILENAME_MAX + where_count > maxargs) \
- || (strlen(str) + FILENAME_MAX + perm_count > maxargs))
+#define TOOBIG(str) (((int)strlen(str) + FILENAME_MAX + where_count > maxargs) \
+ || ((int)strlen(str) + FILENAME_MAX + perm_count > maxargs))
#define PUSHOUT(todir) /* push out string */ \
- if (where_count > sizeof(STARTSTRING)-1) { \
+ if (where_count > (int)sizeof(STARTSTRING)-1) { \
strcat(where_args, "|tar --unlink -xf - -C "); \
strcat(where_args, todir); \
if (system(where_args)) { \
cleanup(0); \
- errx(2, __FUNCTION__ ": can not invoke %d byte tar pipeline: %s", \
- strlen(where_args), where_args); \
+ errx(2, __FUNCTION__ ": can not invoke %ld byte tar pipeline: %s", \
+ (long)strlen(where_args), where_args); \
} \
strcpy(where_args, STARTSTRING); \
where_count = sizeof(STARTSTRING)-1; \
@@ -51,10 +51,11 @@ static const char rcsid[] =
}
static void
-rollback(char *name, char *home, PackingList start, PackingList stop)
+rollback(const char *name, const char *home, PackingList start, PackingList stop)
{
PackingList q;
- char try[FILENAME_MAX], bup[FILENAME_MAX], *dir;
+ char try[FILENAME_MAX], bup[FILENAME_MAX];
+ const char *dir;
dir = home;
for (q = start; q != stop; q = q->next) {
@@ -77,7 +78,7 @@ rollback(char *name, char *home, PackingList start, PackingList stop)
}
void
-extract_plist(char *home, Package *pkg)
+extract_plist(const char *home, Package *pkg)
{
PackingList p = pkg->head;
char *last_file;
@@ -109,7 +110,7 @@ extract_plist(char *home, Package *pkg)
Group = NULL;
Mode = NULL;
last_file = NULL;
- Directory = home;
+ (const char *)Directory = home;
/* Do it */
while (p) {
@@ -207,7 +208,7 @@ extract_plist(char *home, Package *pkg)
Directory = p->name;
}
else
- Directory = home;
+ (const char *)Directory = home;
break;
case PLIST_CMD:
diff --git a/usr.sbin/pkg_install/add/futil.c b/usr.sbin/pkg_install/add/futil.c
index 3ab87dc..8f9e1a3 100644
--- a/usr.sbin/pkg_install/add/futil.c
+++ b/usr.sbin/pkg_install/add/futil.c
@@ -70,9 +70,9 @@ make_hierarchy(char *dir)
/* Using permission defaults, apply them as necessary */
void
-apply_perms(char *dir, char *arg)
+apply_perms(const char *dir, const char *arg)
{
- char *cd_to;
+ const char *cd_to;
if (!dir || *arg == '/') /* absolute path? */
cd_to = "/";
diff --git a/usr.sbin/pkg_install/add/main.c b/usr.sbin/pkg_install/add/main.c
index e059e83..6d81666 100644
--- a/usr.sbin/pkg_install/add/main.c
+++ b/usr.sbin/pkg_install/add/main.c
@@ -159,7 +159,7 @@ main(int argc, char **argv)
errx(1, "package name too long");
}
if (!strcmp(*argv, "-")) /* stdin? */
- pkgs[ch] = "-";
+ (const char *)pkgs[ch] = "-";
else if (isURL(*argv)) { /* preserve URLs */
if (strlcpy(pkgnames[ch], *argv, sizeof(pkgnames[ch]))
>= sizeof(pkgnames[ch]))
diff --git a/usr.sbin/pkg_install/add/perform.c b/usr.sbin/pkg_install/add/perform.c
index 2d1485a..890a996 100644
--- a/usr.sbin/pkg_install/add/perform.c
+++ b/usr.sbin/pkg_install/add/perform.c
@@ -136,7 +136,7 @@ pkg_do(char *pkg)
}
Home = make_playpen(playpen, sb.st_size * 4);
if (!Home)
- errx(1, "unable to make playpen for %qd bytes", sb.st_size * 4);
+ errx(1, "unable to make playpen for %qd bytes", (long long)sb.st_size * 4);
where_to = Home;
/* Since we can call ourselves recursively, keep notes on where we came from */
if (!getenv("_TOP"))
@@ -192,7 +192,7 @@ pkg_do(char *pkg)
if (!inPlace && min_free(playpen) < sb.st_size * 4) {
warnx("projected size of %qd exceeds available free space.\n"
"Please set your PKG_TMPDIR variable to point to a location with more\n"
- "free space and try again", sb.st_size * 4);
+ "free space and try again", (long long)sb.st_size * 4);
warnx("not extracting %s\ninto %s, sorry!",
pkg_fullname, where_to);
goto bomb;
@@ -232,7 +232,7 @@ pkg_do(char *pkg)
setenv(PKG_PREFIX_VNAME, (p = find_plist(&Plist, PLIST_CWD)) ? p->name : ".", 1);
/* Protect against old packages with bogus @name fields */
- PkgName = (p = find_plist(&Plist, PLIST_NAME)) ? p->name : "anonymous";
+ (const char *)PkgName = (p = find_plist(&Plist, PLIST_NAME)) ? p->name : "anonymous";
/* See if we're already registered */
sprintf(LogDir, "%s/%s", LOG_DIR, PkgName);
@@ -391,7 +391,7 @@ pkg_do(char *pkg)
/* Time to record the deed? */
if (!NoRecord && !Fake) {
char contents[FILENAME_MAX];
- FILE *cfile;
+ FILE *contfile;
if (getuid() != 0)
warnx("not running as root - trying to record install anyway");
@@ -430,14 +430,14 @@ pkg_do(char *pkg)
if (fexists(MTREE_FNAME))
move_file(".", MTREE_FNAME, LogDir);
sprintf(contents, "%s/%s", LogDir, CONTENTS_FNAME);
- cfile = fopen(contents, "w");
- if (!cfile) {
+ contfile = fopen(contents, "w");
+ if (!contfile) {
warnx("can't open new contents file '%s'! can't register pkg",
contents);
goto success; /* can't log, but still keep pkg */
}
- write_plist(&Plist, cfile);
- fclose(cfile);
+ write_plist(&Plist, contfile);
+ fclose(contfile);
for (p = Plist.head; p ; p = p->next) {
if (p->type != PLIST_PKGDEP)
continue;
@@ -445,13 +445,13 @@ pkg_do(char *pkg)
printf("Attempting to record dependency on package '%s'\n", p->name);
sprintf(contents, "%s/%s/%s", LOG_DIR, basename(p->name),
REQUIRED_BY_FNAME);
- cfile = fopen(contents, "a");
- if (!cfile)
+ contfile = fopen(contents, "a");
+ if (!contfile)
warnx("can't open dependency file '%s'!\n"
"dependency registration is incomplete", contents);
else {
- fprintf(cfile, "%s\n", PkgName);
- if (fclose(cfile) == EOF)
+ fprintf(contfile, "%s\n", PkgName);
+ if (fclose(contfile) == EOF)
warnx("cannot properly close file %s", contents);
}
}
diff --git a/usr.sbin/pkg_install/create/Makefile b/usr.sbin/pkg_install/create/Makefile
index b249610..5bf59f0 100644
--- a/usr.sbin/pkg_install/create/Makefile
+++ b/usr.sbin/pkg_install/create/Makefile
@@ -5,6 +5,8 @@ SRCS= main.c perform.c pl.c
CFLAGS+= ${DEBUG} -I${.CURDIR}/../lib
+WARNS?= 2
+
DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD}
LDADD= ${LIBINSTALL} -lfetch -lmd
diff --git a/usr.sbin/pkg_install/create/create.h b/usr.sbin/pkg_install/create/create.h
index d85e28a..17d8266 100644
--- a/usr.sbin/pkg_install/create/create.h
+++ b/usr.sbin/pkg_install/create/create.h
@@ -44,8 +44,8 @@ extern int Dereference;
extern int PlistOnly;
extern int UseBzip2;
-void check_list(char *, Package *);
+void check_list(const char *, Package *);
int pkg_perform(char **);
-void copy_plist(char *, Package *);
+void copy_plist(const char *, Package *);
#endif /* _INST_CREATE_H_INCLUDE */
diff --git a/usr.sbin/pkg_install/create/perform.c b/usr.sbin/pkg_install/create/perform.c
index 1dae50b..cd1f8a5 100644
--- a/usr.sbin/pkg_install/create/perform.c
+++ b/usr.sbin/pkg_install/create/perform.c
@@ -34,8 +34,8 @@ static const char rcsid[] =
#include <unistd.h>
static void sanity_check(void);
-static void make_dist(char *, char *, char *, Package *);
-static int create_from_installed(char *, char *);
+static void make_dist(const char *, const char *, const char *, Package *);
+static int create_from_installed(const char *, const char *);
static char *home;
@@ -47,7 +47,7 @@ pkg_perform(char **pkgs)
FILE *pkg_in, *fp;
Package plist;
int len;
- char *suf;
+ const char *suf;
int compress = TRUE; /* default is to compress packages */
/* Preliminary setup */
@@ -258,29 +258,29 @@ pkg_perform(char **pkgs)
}
static void
-make_dist(char *home, char *pkg, char *suffix, Package *plist)
+make_dist(const char *homedir, const char *pkg, const char *suff, Package *plist)
{
char tball[FILENAME_MAX];
PackingList p;
int ret;
- char *args[50]; /* Much more than enough. */
+ const char *args[50]; /* Much more than enough. */
int nargs = 0;
int pipefds[2];
FILE *totar;
pid_t pid;
- char *cname;
+ const char *cname;
args[nargs++] = "tar"; /* argv[0] */
if (*pkg == '/')
- snprintf(tball, FILENAME_MAX, "%s.%s", pkg, suffix);
+ snprintf(tball, FILENAME_MAX, "%s.%s", pkg, suff);
else
- snprintf(tball, FILENAME_MAX, "%s/%s.%s", home, pkg, suffix);
+ snprintf(tball, FILENAME_MAX, "%s/%s.%s", homedir, pkg, suff);
args[nargs++] = "-c";
args[nargs++] = "-f";
args[nargs++] = tball;
- if (strchr(suffix, 'z')) { /* Compress/gzip/bzip2? */
+ if (strchr(suff, 'z')) { /* Compress/gzip/bzip2? */
if (UseBzip2) {
args[nargs++] = "-y";
cname = "bzip'd ";
@@ -318,7 +318,7 @@ make_dist(char *home, char *pkg, char *suffix, Package *plist)
dup2(pipefds[0], 0);
close(pipefds[0]);
close(pipefds[1]);
- execv("/usr/bin/tar", args);
+ execv("/usr/bin/tar", (char * const *)(uintptr_t)args);
cleanup(0);
errx(2, __FUNCTION__ ": failed to execute tar command");
}
@@ -400,18 +400,18 @@ cleanup(int sig)
}
static int
-create_from_installed(char *pkg, char *suf)
+create_from_installed(const char *pkg, const char *suf)
{
FILE *fp;
Package plist;
- char home[MAXPATHLEN], log_dir[FILENAME_MAX];
+ char homedir[MAXPATHLEN], log_dir[FILENAME_MAX];
snprintf(log_dir, sizeof(log_dir), "%s/%s", LOG_DIR, InstalledPkg);
if (!fexists(log_dir)) {
warnx("can't find package '%s' installed!", InstalledPkg);
return 1;
}
- getcwd(home, sizeof(home));
+ getcwd(homedir, sizeof(homedir));
if (chdir(log_dir) == FAIL) {
warnx("can't change directory to '%s'!", log_dir);
return 1;
@@ -427,7 +427,7 @@ create_from_installed(char *pkg, char *suf)
read_plist(&plist, fp);
fclose(fp);
- make_dist(home, pkg, suf, &plist);
+ make_dist(homedir, pkg, suf, &plist);
free_plist(&plist);
return TRUE;
diff --git a/usr.sbin/pkg_install/create/pl.c b/usr.sbin/pkg_install/create/pl.c
index 02bb87b..028b49c 100644
--- a/usr.sbin/pkg_install/create/pl.c
+++ b/usr.sbin/pkg_install/create/pl.c
@@ -31,10 +31,10 @@ static const char rcsid[] =
/* Check a list for files that require preconversion */
void
-check_list(char *home, Package *pkg)
+check_list(const char *home, Package *pkg)
{
- char *where = home;
- char *there = NULL;
+ const char *where = home;
+ const char *there = NULL;
char *cp, name[FILENAME_MAX], buf[33];
PackingList p;
@@ -86,9 +86,9 @@ trylink(const char *from, const char *to)
}
#define STARTSTRING "tar cf -"
-#define TOOBIG(str) strlen(str) + 6 + strlen(home) + where_count > maxargs
+#define TOOBIG(str) (int)strlen(str) + 6 + (int)strlen(home) + where_count > maxargs
#define PUSHOUT() /* push out string */ \
- if (where_count > sizeof(STARTSTRING)-1) { \
+ if (where_count > (int)sizeof(STARTSTRING)-1) { \
strcat(where_args, "|tar xpf -"); \
if (system(where_args)) { \
cleanup(0); \
@@ -105,12 +105,13 @@ trylink(const char *from, const char *to)
* have already been copied in an earlier pass through the list.
*/
void
-copy_plist(char *home, Package *plist)
+copy_plist(const char *home, Package *plist)
{
PackingList p = plist->head;
- char *where = home;
- char *there = NULL, *mythere;
- char *where_args, *last_chdir, *root = "/";
+ const char *where = home;
+ const char *there = NULL, *mythere;
+ char *where_args;
+ const char *last_chdir, *root = "/";
int maxargs, where_count = 0, add_count;
struct stat stb;
dev_t curdir;
diff --git a/usr.sbin/pkg_install/delete/Makefile b/usr.sbin/pkg_install/delete/Makefile
index 9bbaa8a..f08fcc4 100644
--- a/usr.sbin/pkg_install/delete/Makefile
+++ b/usr.sbin/pkg_install/delete/Makefile
@@ -5,6 +5,8 @@ SRCS= main.c perform.c
CFLAGS+= ${DEBUG} -I${.CURDIR}/../lib
+WARNS?= 2
+
DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD}
LDADD= ${LIBINSTALL} -lfetch -lmd
diff --git a/usr.sbin/pkg_install/delete/main.c b/usr.sbin/pkg_install/delete/main.c
index 5538838e..b537ebd 100644
--- a/usr.sbin/pkg_install/delete/main.c
+++ b/usr.sbin/pkg_install/delete/main.c
@@ -47,7 +47,7 @@ main(int argc, char **argv)
int ch, error;
char **pkgs, **start;
char *pkgs_split;
- char *tmp;
+ const char *tmp;
struct stat stat_s;
pkgs = start = argv;
diff --git a/usr.sbin/pkg_install/info/Makefile b/usr.sbin/pkg_install/info/Makefile
index d746760..bc90013 100644
--- a/usr.sbin/pkg_install/info/Makefile
+++ b/usr.sbin/pkg_install/info/Makefile
@@ -5,6 +5,8 @@ SRCS= main.c perform.c show.c
CFLAGS+= ${DEBUG} -I${.CURDIR}/../lib
+WARNS?= 2
+
DPADD= ${LIBINSTALL} ${LIBFETCH} ${LIBMD}
LDADD= ${LIBINSTALL} -lfetch -lmd
diff --git a/usr.sbin/pkg_install/info/info.h b/usr.sbin/pkg_install/info/info.h
index 8db99ed..9b3804a 100644
--- a/usr.sbin/pkg_install/info/info.h
+++ b/usr.sbin/pkg_install/info/info.h
@@ -65,12 +65,12 @@ extern char *CheckPkg;
extern match_t MatchType;
extern struct which_head *whead;
-extern void show_file(char *, char *);
-extern void show_plist(char *, Package *, plist_t);
-extern void show_files(char *, Package *);
-extern void show_index(char *, char *);
-extern void show_size(char *, Package *);
-extern void show_cksum(char *, Package *);
-extern void show_origin(char *, Package *);
+extern void show_file(const char *, const char *);
+extern void show_plist(const char *, Package *, plist_t, Boolean);
+extern void show_files(const char *, Package *);
+extern void show_index(const char *, const char *);
+extern void show_size(const char *, Package *);
+extern void show_cksum(const char *, Package *);
+extern void show_origin(const char *, Package *);
#endif /* _INST_INFO_H_INCLUDE */
diff --git a/usr.sbin/pkg_install/info/main.c b/usr.sbin/pkg_install/info/main.c
index ac99584..6e4e855 100644
--- a/usr.sbin/pkg_install/info/main.c
+++ b/usr.sbin/pkg_install/info/main.c
@@ -33,7 +33,7 @@ static char Options[] = "acdDe:fgGhiIkl:LmopqrRst:vW:x";
int Flags = 0;
match_t MatchType = MATCH_GLOB;
Boolean Quiet = FALSE;
-char *InfoPrefix = "";
+char *InfoPrefix = (char *)(uintptr_t)"";
char PlayPen[FILENAME_MAX];
char *CheckPkg = NULL;
struct which_head *whead;
diff --git a/usr.sbin/pkg_install/info/perform.c b/usr.sbin/pkg_install/info/perform.c
index 5074b1b..1b5d2d8 100644
--- a/usr.sbin/pkg_install/info/perform.c
+++ b/usr.sbin/pkg_install/info/perform.c
@@ -29,14 +29,15 @@ static const char rcsid[] =
#include <signal.h>
static int pkg_do(char *);
-static int find_pkg(char *, struct which_head *);
+static int find_pkg(const char *, struct which_head *);
static int cmp_path(const char *, const char *, const char *);
+static char *abspath(const char *);
int
pkg_perform(char **pkgs)
{
char **matched;
- char *tmp;
+ const char *tmp;
int err_cnt = 0;
int i, errcode;
@@ -184,7 +185,7 @@ pkg_do(char *pkg)
if (Flags & SHOW_COMMENT)
show_file("Comment:\n", COMMENT_FNAME);
if (Flags & SHOW_REQUIRE)
- show_plist("Depends on:\n", &plist, PLIST_PKGDEP);
+ show_plist("Depends on:\n", &plist, PLIST_PKGDEP, FALSE);
if ((Flags & SHOW_REQBY) && !isemptyfile(REQUIRED_BY_FNAME))
show_file("Required by:\n", REQUIRED_BY_FNAME);
if (Flags & SHOW_DESC)
@@ -192,7 +193,7 @@ pkg_do(char *pkg)
if ((Flags & SHOW_DISPLAY) && fexists(DISPLAY_FNAME))
show_file("Install notice:\n", DISPLAY_FNAME);
if (Flags & SHOW_PLIST)
- show_plist("Packing list:\n", &plist, (plist_t)-1);
+ show_plist("Packing list:\n", &plist, (plist_t)0, TRUE);
if ((Flags & SHOW_INSTALL) && fexists(INSTALL_FNAME))
show_file("Install script:\n", INSTALL_FNAME);
if ((Flags & SHOW_INSTALL) && fexists(POST_INSTALL_FNAME))
@@ -204,7 +205,7 @@ pkg_do(char *pkg)
if ((Flags & SHOW_MTREE) && fexists(MTREE_FNAME))
show_file("mtree file:\n", MTREE_FNAME);
if (Flags & SHOW_PREFIX)
- show_plist("Prefix(s):\n", &plist, PLIST_CWD);
+ show_plist("Prefix(s):\n", &plist, PLIST_CWD, FALSE);
if (Flags & SHOW_FILES)
show_files("Files:\n", &plist);
if ((Flags & SHOW_SIZE) && installed)
@@ -242,7 +243,7 @@ cleanup(int sig)
* /'s, as realpath() would, but without resolving symlinks, because that can
* potentially screw up our comparisons later.
*/
-char *
+static char *
abspath(const char *pathname)
{
char *tmp, *tmp1, *resolved_path;
@@ -316,14 +317,14 @@ cmp_path(const char *target, const char *current, const char *cwd)
* packages installed the files in which_list.
*/
static int
-find_pkg(char *db_dir, struct which_head *which_list)
+find_pkg(const char *db_dir, struct which_head *which_list)
{
char **installed;
int errcode, i;
struct which_entry *wp;
TAILQ_FOREACH(wp, which_list, next) {
- char *msg = "file cannot be found";
+ const char *msg = "file cannot be found";
char *tmp;
wp->skip = TRUE;
diff --git a/usr.sbin/pkg_install/info/show.c b/usr.sbin/pkg_install/info/show.c
index 8b16bc3..91432e5 100644
--- a/usr.sbin/pkg_install/info/show.c
+++ b/usr.sbin/pkg_install/info/show.c
@@ -32,7 +32,7 @@ static const char rcsid[] =
#include <md5.h>
void
-show_file(char *title, char *fname)
+show_file(const char *title, const char *fname)
{
FILE *fp;
char line[1024];
@@ -52,7 +52,7 @@ show_file(char *title, char *fname)
}
void
-show_index(char *title, char *fname)
+show_index(const char *title, const char *fname)
{
FILE *fp;
char line[MAXINDEXSIZE+2];
@@ -73,9 +73,9 @@ show_index(char *title, char *fname)
fclose(fp);
}
-/* Show a packing list item type. If type is -1, show all */
+/* Show a packing list item type. If showall is TRUE, show all */
void
-show_plist(char *title, Package *plist, plist_t type)
+show_plist(const char *title, Package *plist, plist_t type, Boolean showall)
{
PackingList p;
Boolean ign = FALSE;
@@ -84,7 +84,7 @@ show_plist(char *title, Package *plist, plist_t type)
printf("%s%s", InfoPrefix, title);
p = plist->head;
while (p) {
- if (p->type != type && type != -1) {
+ if (p->type != type && showall != TRUE) {
p = p->next;
continue;
}
@@ -180,11 +180,11 @@ show_plist(char *title, Package *plist, plist_t type)
/* Show all files in the packing list (except ignored ones) */
void
-show_files(char *title, Package *plist)
+show_files(const char *title, Package *plist)
{
PackingList p;
Boolean ign = FALSE;
- char *dir = ".";
+ const char *dir = ".";
if (!Quiet)
printf("%s%s", InfoPrefix, title);
@@ -215,11 +215,11 @@ show_files(char *title, Package *plist)
/* Calculate and show size of all installed package files (except ignored ones) */
void
-show_size(char *title, Package *plist)
+show_size(const char *title, Package *plist)
{
PackingList p;
Boolean ign = FALSE;
- char *dir = ".";
+ const char *dir = ".";
struct stat sb;
char tmp[FILENAME_MAX];
unsigned long size = 0;
@@ -265,10 +265,10 @@ show_size(char *title, Package *plist)
/* Show files that don't match the recorded checksum */
void
-show_cksum(char *title, Package *plist)
+show_cksum(const char *title, Package *plist)
{
PackingList p;
- char *dir = ".";
+ const char *dir = ".";
char tmp[FILENAME_MAX];
if (!Quiet)
@@ -295,7 +295,7 @@ show_cksum(char *title, Package *plist)
/* Show an "origin" path (usually category/portname) */
void
-show_origin(char *title, Package *plist)
+show_origin(const char *title, Package *plist)
{
PackingList p;
diff --git a/usr.sbin/pkg_install/lib/Makefile b/usr.sbin/pkg_install/lib/Makefile
index d8dbc50..78bedc4 100644
--- a/usr.sbin/pkg_install/lib/Makefile
+++ b/usr.sbin/pkg_install/lib/Makefile
@@ -7,6 +7,8 @@ SRCS= file.c msg.c plist.c str.c exec.c global.c pen.c match.c deps.c
CFLAGS+= ${DEBUG}
+WARNS?= 2
+
install:
@echo -n
diff --git a/usr.sbin/pkg_install/lib/deps.c b/usr.sbin/pkg_install/lib/deps.c
index cd52209..ddb6da7 100644
--- a/usr.sbin/pkg_install/lib/deps.c
+++ b/usr.sbin/pkg_install/lib/deps.c
@@ -80,7 +80,7 @@ sortdeps(char **pkgs)
* Returns 1 if depends, 0 if not, and -1 if error occured.
*/
int
-chkifdepends(char *pkgname1, char *pkgname2)
+chkifdepends(const char *pkgname1, const char *pkgname2)
{
char pkgdir[FILENAME_MAX];
int errcode;
diff --git a/usr.sbin/pkg_install/lib/exec.c b/usr.sbin/pkg_install/lib/exec.c
index dbb4625..e4b477a 100644
--- a/usr.sbin/pkg_install/lib/exec.c
+++ b/usr.sbin/pkg_install/lib/exec.c
@@ -106,4 +106,3 @@ vpipe(const char *fmt, ...)
}
return rp;
}
-
diff --git a/usr.sbin/pkg_install/lib/file.c b/usr.sbin/pkg_install/lib/file.c
index 5828100..26b1f37 100644
--- a/usr.sbin/pkg_install/lib/file.c
+++ b/usr.sbin/pkg_install/lib/file.c
@@ -32,7 +32,7 @@ static const char rcsid[] =
/* Quick check to see if a file exists */
Boolean
-fexists(char *fname)
+fexists(const char *fname)
{
struct stat dummy;
if (!lstat(fname, &dummy))
@@ -42,7 +42,7 @@ fexists(char *fname)
/* Quick check to see if something is a directory or symlink to a directory */
Boolean
-isdir(char *fname)
+isdir(const char *fname)
{
struct stat sb;
@@ -56,7 +56,7 @@ isdir(char *fname)
/* Check to see if file is a dir or symlink to a dir, and is empty */
Boolean
-isemptydir(char *fname)
+isemptydir(const char *fname)
{
if (isdir(fname)) {
DIR *dirp;
@@ -82,7 +82,7 @@ isemptydir(char *fname)
* file
*/
Boolean
-isfile(char *fname)
+isfile(const char *fname)
{
struct stat sb;
if (stat(fname, &sb) != FAIL && S_ISREG(sb.st_mode))
@@ -96,7 +96,7 @@ isfile(char *fname)
* zero sized.
*/
Boolean
-isemptyfile(char *fname)
+isemptyfile(const char *fname)
{
struct stat sb;
if (stat(fname, &sb) != FAIL && S_ISREG(sb.st_mode)) {
@@ -108,7 +108,7 @@ isemptyfile(char *fname)
/* Returns TRUE if file is a symbolic link. */
Boolean
-issymlink(char *fname)
+issymlink(const char *fname)
{
struct stat sb;
if (lstat(fname, &sb) != FAIL && S_ISLNK(sb.st_mode))
@@ -118,7 +118,7 @@ issymlink(char *fname)
/* Returns TRUE if file is a URL specification */
Boolean
-isURL(char *fname)
+isURL(const char *fname)
{
/*
* I'm sure there are other types of URL specifications that I could
@@ -140,7 +140,7 @@ isURL(char *fname)
* it's unpacked, if successful.
*/
char *
-fileGetURL(char *base, char *spec)
+fileGetURL(const char *base, const char *spec)
{
char *cp, *rp;
char fname[FILENAME_MAX];
@@ -148,8 +148,7 @@ fileGetURL(char *base, char *spec)
char buf[8192];
FILE *ftp;
pid_t tpid;
- int pfd[2], pstat;
- size_t r, w;
+ int pfd[2], pstat, r, w;
char *hint;
int fd;
@@ -236,10 +235,10 @@ fileGetURL(char *base, char *spec)
if ((w = write(pfd[1], buf, r)) != r)
break;
}
+ if (ferror(ftp))
+ warn("warning: error reading from server");
fclose(ftp);
close(pfd[1]);
- if (r == -1)
- warn("warning: error reading from server");
if (w == -1)
warn("warning: error writing to tar");
tpid = waitpid(tpid, &pstat, 0);
@@ -251,11 +250,11 @@ fileGetURL(char *base, char *spec)
}
char *
-fileFindByPath(char *base, char *fname)
+fileFindByPath(const char *base, const char *fname)
{
static char tmp[FILENAME_MAX];
char *cp;
- char *suffixes[] = {".tgz", ".tar", ".tbz2", NULL};
+ const char *suffixes[] = {".tgz", ".tar", ".tbz2", NULL};
int i;
if (fexists(fname) && isfile(fname)) {
@@ -295,7 +294,7 @@ fileFindByPath(char *base, char *fname)
}
char *
-fileGetContents(char *fname)
+fileGetContents(const char *fname)
{
char *contents;
struct stat sb;
@@ -315,7 +314,7 @@ fileGetContents(char *fname)
if (read(fd, contents, sb.st_size) != sb.st_size) {
cleanup(0);
errx(2, __FUNCTION__ ": short read on '%s' - did not get %qd bytes",
- fname, sb.st_size);
+ fname, (long long)sb.st_size);
}
close(fd);
contents[sb.st_size] = '\0';
@@ -327,7 +326,7 @@ fileGetContents(char *fname)
* canonical "preserve" name for it.
*/
Boolean
-make_preserve_name(char *try, int max, char *name, char *file)
+make_preserve_name(char *try, int max, const char *name, const char *file)
{
int len, i;
@@ -359,10 +358,10 @@ make_preserve_name(char *try, int max, char *name, char *file)
/* Write the contents of "str" to a file */
void
-write_file(char *name, char *str)
+write_file(const char *name, const char *str)
{
FILE *fp;
- int len;
+ size_t len;
fp = fopen(name, "w");
if (!fp) {
@@ -372,7 +371,7 @@ write_file(char *name, char *str)
len = strlen(str);
if (fwrite(str, 1, len, fp) != len) {
cleanup(0);
- errx(2, __FUNCTION__ ": short fwrite on '%s', tried to write %d bytes", name, len);
+ errx(2, __FUNCTION__ ": short fwrite on '%s', tried to write %ld bytes", name, (long)len);
}
if (fclose(fp)) {
cleanup(0);
@@ -381,7 +380,7 @@ write_file(char *name, char *str)
}
void
-copy_file(char *dir, char *fname, char *to)
+copy_file(const char *dir, const char *fname, const char *to)
{
char cmd[FILENAME_MAX];
@@ -396,7 +395,7 @@ copy_file(char *dir, char *fname, char *to)
}
void
-move_file(char *dir, char *fname, char *to)
+move_file(const char *dir, const char *fname, const char *to)
{
char cmd[FILENAME_MAX];
@@ -419,7 +418,7 @@ move_file(char *dir, char *fname, char *to)
* without me having to write some big hairy routine to do it.
*/
void
-copy_hierarchy(char *dir, char *fname, Boolean to)
+copy_hierarchy(const char *dir, const char *fname, Boolean to)
{
char cmd[FILENAME_MAX * 3];
@@ -444,9 +443,9 @@ copy_hierarchy(char *dir, char *fname, Boolean to)
/* Unpack a tar file */
int
-unpack(char *pkg, char *flist)
+unpack(const char *pkg, const char *flist)
{
- char args[10], suffix[80], *cp;
+ char args[10], suff[80], *cp;
args[0] = '\0';
/*
@@ -456,9 +455,9 @@ unpack(char *pkg, char *flist)
if (strcmp(pkg, "-")) {
cp = strrchr(pkg, '.');
if (cp) {
- strcpy(suffix, cp + 1);
- if (strchr(suffix, 'z') || strchr(suffix, 'Z')) {
- if (strchr(suffix, 'b'))
+ strcpy(suff, cp + 1);
+ if (strchr(suff, 'z') || strchr(suff, 'Z')) {
+ if (strchr(suff, 'b'))
strcpy(args, "-y");
else
strcpy(args, "-z");
@@ -487,7 +486,7 @@ unpack(char *pkg, char *flist)
*
*/
void
-format_cmd(char *buf, char *fmt, char *dir, char *name)
+format_cmd(char *buf, const char *fmt, const char *dir, const char *name)
{
char *cp, scratch[FILENAME_MAX * 2];
diff --git a/usr.sbin/pkg_install/lib/lib.h b/usr.sbin/pkg_install/lib/lib.h
index ee709cd..70a1408 100644
--- a/usr.sbin/pkg_install/lib/lib.h
+++ b/usr.sbin/pkg_install/lib/lib.h
@@ -123,39 +123,39 @@ STAILQ_HEAD(reqr_by_head, reqr_by_entry);
int vsystem(const char *, ...);
char *vpipe(const char *, ...);
void cleanup(int);
-char *make_playpen(char *, size_t);
+char *make_playpen(char *, off_t);
char *where_playpen(void);
void leave_playpen(void);
-off_t min_free(char *);
+off_t min_free(const char *);
/* String */
char *get_dash_string(char **);
-char *copy_string(char *);
-Boolean suffix(char *, char *);
+char *copy_string(const char *);
+Boolean suffix(const char *, const char *);
void nuke_suffix(char *);
void str_lowercase(char *);
-char *strconcat(char *, char *);
+char *strconcat(const char *, const char *);
char *get_string(char *, int, FILE *);
/* File */
-Boolean fexists(char *);
-Boolean isdir(char *);
-Boolean isemptydir(char *fname);
-Boolean isemptyfile(char *fname);
-Boolean isfile(char *);
-Boolean isempty(char *);
-Boolean issymlink(char *);
-Boolean isURL(char *);
-char *fileGetURL(char *, char *);
-char *fileFindByPath(char *, char *);
-char *fileGetContents(char *);
-void write_file(char *, char *);
-void copy_file(char *, char *, char *);
-void move_file(char *, char *, char *);
-void copy_hierarchy(char *, char *, Boolean);
-int delete_hierarchy(char *, Boolean, Boolean);
-int unpack(char *, char *);
-void format_cmd(char *, char *, char *, char *);
+Boolean fexists(const char *);
+Boolean isdir(const char *);
+Boolean isemptydir(const char *fname);
+Boolean isemptyfile(const char *fname);
+Boolean isfile(const char *);
+Boolean isempty(const char *);
+Boolean issymlink(const char *);
+Boolean isURL(const char *);
+char *fileGetURL(const char *, const char *);
+char *fileFindByPath(const char *, const char *);
+char *fileGetContents(const char *);
+void write_file(const char *, const char *);
+void copy_file(const char *, const char *, const char *);
+void move_file(const char *, const char *, const char *);
+void copy_hierarchy(const char *, const char *, Boolean);
+int delete_hierarchy(const char *, Boolean, Boolean);
+int unpack(const char *, const char *);
+void format_cmd(char *, const char *, const char *, const char *);
/* Msg */
void upchuck(const char *);
@@ -167,19 +167,19 @@ Boolean y_or_n(Boolean, const char *, ...);
PackingList new_plist_entry(void);
PackingList last_plist(Package *);
PackingList find_plist(Package *, plist_t);
-char *find_plist_option(Package *, char *name);
-void plist_delete(Package *, Boolean, plist_t, char *);
+char *find_plist_option(Package *, const char *name);
+void plist_delete(Package *, Boolean, plist_t, const char *);
void free_plist(Package *);
void mark_plist(Package *);
void csum_plist_entry(char *, PackingList);
-void add_plist(Package *, plist_t, char *);
-void add_plist_top(Package *, plist_t, char *);
-void delete_plist(Package *pkg, Boolean all, plist_t type, char *name);
+void add_plist(Package *, plist_t, const char *);
+void add_plist_top(Package *, plist_t, const char *);
+void delete_plist(Package *pkg, Boolean all, plist_t type, const char *name);
void write_plist(Package *, FILE *);
void read_plist(Package *, FILE *);
-int plist_cmd(char *, char **);
+int plist_cmd(const char *, char **);
int delete_package(Boolean, Boolean, Package *);
-Boolean make_preserve_name(char *, int, char *, char *);
+Boolean make_preserve_name(char *, int, const char *, const char *);
/* For all */
int pkg_perform(char **);
@@ -189,7 +189,7 @@ char **matchinstalled(match_t, char **, int *);
/* Dependencies */
int sortdeps(char **);
-int chkifdepends(char *, char *);
+int chkifdepends(const char *, const char *);
int requiredby(const char *, struct reqr_by_head **, Boolean, Boolean);
/* Externs */
diff --git a/usr.sbin/pkg_install/lib/match.c b/usr.sbin/pkg_install/lib/match.c
index 2c2ba0d..7a273e0 100644
--- a/usr.sbin/pkg_install/lib/match.c
+++ b/usr.sbin/pkg_install/lib/match.c
@@ -39,7 +39,7 @@ struct store {
char **store;
};
-static int rex_match(char *, char *);
+static int rex_match(const char *, const char *);
static int storeappend(struct store *, const char *);
static int fname_cmp(const FTSENT **, const FTSENT **);
@@ -58,8 +58,8 @@ char **
matchinstalled(match_t MatchType, char **patterns, int *retval)
{
int i, errcode, len;
- char *tmp, *matched;
- char *paths[2];
+ char *matched;
+ const char *paths[2] = {LOG_DIR, NULL};
static struct store *store = NULL;
FTS *ftsp;
FTSENT *f;
@@ -85,8 +85,7 @@ matchinstalled(match_t MatchType, char **patterns, int *retval)
if (retval != NULL)
*retval = 0;
- tmp = LOG_DIR;
- if (!isdir(tmp)) {
+ if (!isdir(paths[0])) {
if (retval != NULL)
*retval = 1;
return NULL;
@@ -109,9 +108,7 @@ matchinstalled(match_t MatchType, char **patterns, int *retval)
for (i = 0; i < len; i++)
lmatched[i] = FALSE;
- paths[0] = tmp;
- paths[1] = NULL;
- ftsp = fts_open(paths, FTS_LOGICAL | FTS_NOCHDIR | FTS_NOSTAT, fname_cmp);
+ ftsp = fts_open((char * const *)(uintptr_t)paths, FTS_LOGICAL | FTS_NOCHDIR | FTS_NOSTAT, fname_cmp);
if (ftsp != NULL) {
while ((f = fts_read(ftsp)) != NULL) {
if (f->fts_info == FTS_D && f->fts_level == 1) {
@@ -173,7 +170,7 @@ matchinstalled(match_t MatchType, char **patterns, int *retval)
* engine reported an error (usually invalid syntax).
*/
static int
-rex_match(char *pattern, char *pkgname)
+rex_match(const char *pattern, const char *pkgname)
{
char errbuf[128];
int errcode;
diff --git a/usr.sbin/pkg_install/lib/msg.c b/usr.sbin/pkg_install/lib/msg.c
index 5f954ca..adff123 100644
--- a/usr.sbin/pkg_install/lib/msg.c
+++ b/usr.sbin/pkg_install/lib/msg.c
@@ -30,10 +30,10 @@ static const char rcsid[] =
/* Die a relatively simple death */
void
-upchuck(const char *err)
+upchuck(const char *message)
{
cleanup(0);
- errx(1, "fatal error during execution: %s", err);
+ errx(1, "fatal error during execution: %s", message);
}
/*
diff --git a/usr.sbin/pkg_install/lib/pen.c b/usr.sbin/pkg_install/lib/pen.c
index 62465bf..f80763c 100644
--- a/usr.sbin/pkg_install/lib/pen.c
+++ b/usr.sbin/pkg_install/lib/pen.c
@@ -41,7 +41,7 @@ where_playpen(void)
/* Find a good place to play. */
static char *
-find_play_pen(char *pen, size_t sz)
+find_play_pen(char *pen, off_t sz)
{
char *cp;
struct stat sb;
@@ -62,8 +62,8 @@ find_play_pen(char *pen, size_t sz)
cleanup(0);
errx(2, __FUNCTION__
": can't find enough temporary space to extract the files, please set your\n"
-"PKG_TMPDIR environment variable to a location with at least %d bytes\n"
-"free", sz);
+"PKG_TMPDIR environment variable to a location with at least %ld bytes\n"
+"free", (long)sz);
return NULL;
}
return pen;
@@ -74,7 +74,7 @@ static char *pstack[MAX_STACK];
static int pdepth = -1;
static void
-pushPen(char *pen)
+pushPen(const char *pen)
{
if (++pdepth == MAX_STACK)
errx(2, __FUNCTION__ ": stack overflow.\n");
@@ -97,7 +97,7 @@ popPen(char *pen)
* pathname of previous working directory.
*/
char *
-make_playpen(char *pen, size_t sz)
+make_playpen(char *pen, off_t sz)
{
if (!find_play_pen(pen, sz))
return NULL;
@@ -113,7 +113,7 @@ make_playpen(char *pen, size_t sz)
if (Verbose) {
if (sz)
- fprintf(stderr, "Requested space: %d bytes, free space: %qd bytes in %s\n", (int)sz, min_free(pen), pen);
+ fprintf(stderr, "Requested space: %d bytes, free space: %qd bytes in %s\n", (int)sz, (long long)min_free(pen), pen);
}
if (min_free(pen) < sz) {
@@ -165,7 +165,7 @@ leave_playpen()
}
off_t
-min_free(char *tmpdir)
+min_free(const char *tmpdir)
{
struct statfs buf;
diff --git a/usr.sbin/pkg_install/lib/plist.c b/usr.sbin/pkg_install/lib/plist.c
index d7ee821..c7b3738 100644
--- a/usr.sbin/pkg_install/lib/plist.c
+++ b/usr.sbin/pkg_install/lib/plist.c
@@ -29,7 +29,7 @@ static const char rcsid[] =
/* Add an item to a packing list */
void
-add_plist(Package *p, plist_t type, char *arg)
+add_plist(Package *p, plist_t type, const char *arg)
{
PackingList tmp;
@@ -47,7 +47,7 @@ add_plist(Package *p, plist_t type, char *arg)
}
void
-add_plist_top(Package *p, plist_t type, char *arg)
+add_plist_top(Package *p, plist_t type, const char *arg)
{
PackingList tmp;
@@ -99,7 +99,7 @@ find_plist(Package *pkg, plist_t type)
/* Look for a specific boolean option argument in the list */
char *
-find_plist_option(Package *pkg, char *name)
+find_plist_option(Package *pkg, const char *name)
{
PackingList p = pkg->head;
@@ -116,7 +116,7 @@ find_plist_option(Package *pkg, char *name)
* too.) If 'all' is set, delete all items, not just the first occurance.
*/
void
-delete_plist(Package *pkg, Boolean all, plist_t type, char *name)
+delete_plist(Package *pkg, Boolean all, plist_t type, const char *name)
{
PackingList p = pkg->head;
@@ -175,10 +175,11 @@ free_plist(Package *pkg)
* optionally its argument(s)
*/
int
-plist_cmd(char *s, char **arg)
+plist_cmd(const char *s, char **arg)
{
char cmd[FILENAME_MAX + 20]; /* 20 == fudge for max cmd len */
- char *cp, *sp;
+ char *cp;
+ const char *sp;
strcpy(cmd, s);
str_lowercase(cmd);
@@ -194,7 +195,7 @@ plist_cmd(char *s, char **arg)
++cp, ++sp;
}
if (arg)
- *arg = sp;
+ (const char *)*arg = sp;
if (!strcmp(cmd, "cwd"))
return PLIST_CWD;
else if (!strcmp(cmd, "srcdir"))
@@ -355,7 +356,7 @@ int
delete_package(Boolean ign_err, Boolean nukedirs, Package *pkg)
{
PackingList p;
- char *Where = ".", *last_file = "";
+ const char *Where = ".", *last_file = "";
Boolean fail = SUCCESS;
Boolean preserve;
char tmp[FILENAME_MAX], *name = NULL;
@@ -464,11 +465,11 @@ delete_package(Boolean ign_err, Boolean nukedirs, Package *pkg)
/* Selectively delete a hierarchy */
int
-delete_hierarchy(char *dir, Boolean ign_err, Boolean nukedirs)
+delete_hierarchy(const char *dir, Boolean ign_err, Boolean nukedirs)
{
char *cp1, *cp2;
- cp1 = cp2 = dir;
+ cp1 = cp2 = strdup(dir);
if (!fexists(dir)) {
if (!ign_err)
warnx("%s '%s' doesn't really exist",
@@ -503,7 +504,7 @@ delete_hierarchy(char *dir, Boolean ign_err, Boolean nukedirs)
}
/* back up the pathname one component */
if (cp2) {
- cp1 = dir;
+ cp1 = strdup(dir);
}
}
return 0;
diff --git a/usr.sbin/pkg_install/lib/str.c b/usr.sbin/pkg_install/lib/str.c
index b2b68c0..c674e1f 100644
--- a/usr.sbin/pkg_install/lib/str.c
+++ b/usr.sbin/pkg_install/lib/str.c
@@ -26,7 +26,7 @@ static const char rcsid[] =
#include "lib.h"
char *
-strconcat(char *s1, char *s2)
+strconcat(const char *s1, const char *s2)
{
static char tmp[FILENAME_MAX];
@@ -52,14 +52,14 @@ get_dash_string(char **str)
/* Rather Obvious */
char *
-copy_string(char *str)
+copy_string(const char *str)
{
return (str ? strdup(str) : NULL);
}
/* Return TRUE if 'str' ends in suffix 'suff' */
Boolean
-suffix(char *str, char *suff)
+suffix(const char *str, const char *suff)
{
char *idx;
Boolean ret = FALSE;
OpenPOWER on IntegriCloud