svn commit: r241807 - in head/sbin: fsck fsck_msdosfs
Ulrich Spoerlein
uqs at FreeBSD.org
Sun Oct 21 12:01:20 UTC 2012
Author: uqs
Date: Sun Oct 21 12:01:19 2012
New Revision: 241807
URL: http://svn.freebsd.org/changeset/base/241807
Log:
Make fsck and fsck_msdosfs WARNS=6 clean
- sprinkle const
- add volatile qualifier to avoid vfork clobbering
Inspired by: NetBSD
PR: bin/139802
Reviewed by: ed
Modified:
head/sbin/fsck/Makefile
head/sbin/fsck/fsck.c
head/sbin/fsck/fsutil.h
head/sbin/fsck/preen.c
head/sbin/fsck_msdosfs/Makefile
head/sbin/fsck_msdosfs/boot.c
head/sbin/fsck_msdosfs/ext.h
head/sbin/fsck_msdosfs/fat.c
Modified: head/sbin/fsck/Makefile
==============================================================================
--- head/sbin/fsck/Makefile Sun Oct 21 12:01:11 2012 (r241806)
+++ head/sbin/fsck/Makefile Sun Oct 21 12:01:19 2012 (r241807)
@@ -3,7 +3,6 @@
PROG= fsck
SRCS= fsck.c fsutil.c preen.c
-WARNS?= 2
MAN= fsck.8
.include <bsd.prog.mk>
Modified: head/sbin/fsck/fsck.c
==============================================================================
--- head/sbin/fsck/fsck.c Sun Oct 21 12:01:11 2012 (r241806)
+++ head/sbin/fsck/fsck.c Sun Oct 21 12:01:19 2012 (r241807)
@@ -73,14 +73,14 @@ static char *options = NULL;
static int flags = 0;
static int forceflag = 0;
-static int checkfs(const char *, const char *, const char *, char *, pid_t *);
+static int checkfs(const char *, const char *, const char *, const char *, pid_t *);
static int selected(const char *);
static void addoption(char *);
static const char *getoptions(const char *);
static void addentry(struct fstypelist *, const char *, const char *);
static void maketypelist(char *);
static void catopt(char **, const char *);
-static void mangle(char *, int *, const char ***, int *);
+static void mangle(char *, int *, const char ** volatile *, int *);
static const char *getfslab(const char *);
static void usage(void) __dead2;
static int isok(struct fstab *);
@@ -187,6 +187,7 @@ main(int argc, char *argv[])
char device[MAXPATHLEN];
struct statfs *mntp;
+ mntpt = NULL;
spec = *argv;
cp = strrchr(spec, '/');
if (cp == 0) {
@@ -285,9 +286,9 @@ isok(struct fstab *fs)
static int
checkfs(const char *pvfstype, const char *spec, const char *mntpt,
- char *auxopt, pid_t *pidp)
+ const char *auxopt, pid_t *pidp)
{
- const char **argv;
+ const char ** volatile argv;
pid_t pid;
int argc, i, status, maxargc;
char *optbuf, execbase[MAXPATHLEN];
@@ -312,7 +313,7 @@ checkfs(const char *pvfstype, const char
vfstype = strdup(pvfstype);
if (vfstype == NULL)
perr("strdup(pvfstype)");
- for (i = 0; i < strlen(vfstype); i++) {
+ for (i = 0; i < (int)strlen(vfstype); i++) {
vfstype[i] = tolower(vfstype[i]);
if (vfstype[i] == ' ')
vfstype[i] = '_';
@@ -361,7 +362,7 @@ checkfs(const char *pvfstype, const char
_exit(0);
/* Go find an executable. */
- execvP(execbase, _PATH_SYSPATH, (char * const *)argv);
+ execvP(execbase, _PATH_SYSPATH, __DECONST(char * const *, argv));
if (spec)
warn("exec %s for %s in %s", execbase, spec, _PATH_SYSPATH);
else
@@ -498,7 +499,7 @@ catopt(char **sp, const char *o)
static void
-mangle(char *opts, int *argcp, const char ***argvp, int *maxargcp)
+mangle(char *opts, int *argcp, const char ** volatile *argvp, int *maxargcp)
{
char *p, *s;
int argc, maxargc;
@@ -535,7 +536,7 @@ mangle(char *opts, int *argcp, const cha
}
-const static char *
+static const char *
getfslab(const char *str)
{
struct disklabel dl;
Modified: head/sbin/fsck/fsutil.h
==============================================================================
--- head/sbin/fsck/fsutil.h Sun Oct 21 12:01:11 2012 (r241806)
+++ head/sbin/fsck/fsutil.h Sun Oct 21 12:01:19 2012 (r241807)
@@ -47,4 +47,4 @@ char *estrdup(const char *);
struct fstab;
int checkfstab(int, int (*)(struct fstab *),
- int (*) (const char *, const char *, const char *, char *, pid_t *));
+ int (*) (const char *, const char *, const char *, const char *, pid_t *));
Modified: head/sbin/fsck/preen.c
==============================================================================
--- head/sbin/fsck/preen.c Sun Oct 21 12:01:11 2012 (r241806)
+++ head/sbin/fsck/preen.c Sun Oct 21 12:01:19 2012 (r241807)
@@ -78,12 +78,12 @@ static int nrun = 0, ndisks = 0;
static struct diskentry *finddisk(const char *);
static void addpart(const char *, const char *, const char *);
static int startdisk(struct diskentry *,
- int (*)(const char *, const char *, const char *, char *, pid_t *));
+ int (*)(const char *, const char *, const char *, const char *, pid_t *));
static void printpart(void);
int
checkfstab(int flags, int (*docheck)(struct fstab *),
- int (*checkit)(const char *, const char *, const char *, char *, pid_t *))
+ int (*checkit)(const char *, const char *, const char *, const char *, pid_t *))
{
struct fstab *fs;
struct diskentry *d, *nextdisk;
@@ -317,7 +317,7 @@ addpart(const char *type, const char *de
static int
startdisk(struct diskentry *d, int (*checkit)(const char *, const char *,
- const char *, char *, pid_t *))
+ const char *, const char *, pid_t *))
{
struct partentry *p = TAILQ_FIRST(&d->d_part);
int rv;
Modified: head/sbin/fsck_msdosfs/Makefile
==============================================================================
--- head/sbin/fsck_msdosfs/Makefile Sun Oct 21 12:01:11 2012 (r241806)
+++ head/sbin/fsck_msdosfs/Makefile Sun Oct 21 12:01:19 2012 (r241807)
@@ -9,6 +9,5 @@ MAN= fsck_msdosfs.8
SRCS= main.c check.c boot.c fat.c dir.c fsutil.c
CFLAGS+= -I${FSCK}
-WARNS?= 2
.include <bsd.prog.mk>
Modified: head/sbin/fsck_msdosfs/boot.c
==============================================================================
--- head/sbin/fsck_msdosfs/boot.c Sun Oct 21 12:01:11 2012 (r241806)
+++ head/sbin/fsck_msdosfs/boot.c Sun Oct 21 12:01:19 2012 (r241807)
@@ -48,7 +48,7 @@ readboot(int dosfs, struct bootblock *bo
int ret = FSOK;
int i;
- if (read(dosfs, block, sizeof block) != sizeof block) {
+ if ((size_t)read(dosfs, block, sizeof block) != sizeof block) {
perr("could not read boot block");
return FSFATAL;
}
Modified: head/sbin/fsck_msdosfs/ext.h
==============================================================================
--- head/sbin/fsck_msdosfs/ext.h Sun Oct 21 12:01:11 2012 (r241806)
+++ head/sbin/fsck_msdosfs/ext.h Sun Oct 21 12:01:19 2012 (r241807)
@@ -133,7 +133,7 @@ void finishlf(void);
/*
* Return the type of a reserved cluster as text
*/
-char *rsrvdcltype(cl_t);
+const char *rsrvdcltype(cl_t);
/*
* Clear a cluster chain in a FAT
Modified: head/sbin/fsck_msdosfs/fat.c
==============================================================================
--- head/sbin/fsck_msdosfs/fat.c Sun Oct 21 12:01:11 2012 (r241806)
+++ head/sbin/fsck_msdosfs/fat.c Sun Oct 21 12:01:19 2012 (r241807)
@@ -320,7 +320,7 @@ readfat(int fs, struct bootblock *boot,
/*
* Get type of reserved cluster
*/
-char *
+const char *
rsrvdcltype(cl_t cl)
{
if (cl == CLUST_FREE)
More information about the svn-src-head
mailing list