Date: Sun, 9 Dec 2001 22:01:12 +0100 From: Maxime Henrion <mux@qualys.com> To: freebsd-audit@FreeBSD.org Subject: More WARNS?=2 cleanup for /usr/src/usr.sbin/ Message-ID: <20011209220112.B298@nebula.noos.fr>
next in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
Hello,
Here is another set of patches to set WARNS to 2 for some programs in
/usr/src/usr.sbin/. These programs are arp(8), boot0cfg(8), chroot(8),
digictl(8), edquota(8) and repquota(8).
I think it's worth explaining some of them :
o arp(8) : there was some warnings for missing initializers for
these kind of declaration :
struct sockaddr_in so_mask = {8, 0, 0, { 0xffffffff}};
this is because the ``char sin_zero[8];'' field is not
initialized and rather than doing :
struct sockaddr_in so_mask = {8, 0, 0, { 0xffffffff}, "\0\0\0\0\0\0\0"};
(I couldn't find something more correct) I moved these
(global) declarations to the top of the file and initialized
the structures in the main() function.
o boot0cfg(8) : there was a warning in the mkrdev() function
because of a const qualifier discarded by an assignment. The
function was sometimes returning an strdup()'d pointer, and
sometimes returning the original pointer passed as an
argument. I solved this by always doing a strdup(), which is
IMHO more correct, and allows us to safely free() it after (it
wasn't free()'d previously).
o digictl(8) : I just had to add the WARNS option to the
Makefile for this one :-)
Thanks,
Maxime Henrion
--
Don't be fooled by cheap finnish imitations ; BSD is the One True Code
[-- Attachment #2 --]
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/arp/Makefile,v
retrieving revision 1.6
diff -u -r1.6 Makefile
--- Makefile 20 Jul 2001 04:22:58 -0000 1.6
+++ Makefile 7 Dec 2001 00:35:43 -0000
@@ -4,4 +4,6 @@
PROG= arp
MAN= arp.4 arp.8
+WARNS?= 2
+
.include <bsd.prog.mk>
Index: arp.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/arp/arp.c,v
retrieving revision 1.33
diff -u -r1.33 arp.c
--- arp.c 19 Oct 2001 00:33:26 -0000 1.33
+++ arp.c 9 Dec 2001 17:25:45 -0000
@@ -84,9 +84,9 @@
void search(u_long addr, void (*action)(struct sockaddr_dl *sdl,
struct sockaddr_inarp *sin, struct rt_msghdr *rtm));
void print_entry(struct sockaddr_dl *sdl,
- struct sockaddr_inarp *sin, struct rt_msghdr *rtm);
+ struct sockaddr_inarp *addr, struct rt_msghdr *rtm);
void nuke_entry(struct sockaddr_dl *sdl,
- struct sockaddr_inarp *sin, struct rt_msghdr *rtm);
+ struct sockaddr_inarp *addr, struct rt_msghdr *rtm);
int delete(char *host, char *info);
void ether_print(u_char *cp);
void usage(void);
@@ -103,6 +103,15 @@
static int aflag; /* do it for all entries */
static int s = -1;
+struct sockaddr_in so_mask;
+struct sockaddr_inarp blank_sin, sin_m;
+struct sockaddr_dl blank_sdl, sdl_m;
+int expire_time, flags, doing_proxy, proxy_only, found_entry;
+struct {
+ struct rt_msghdr m_rtm;
+ char m_space[512];
+} m_rtmsg;
+
/* which function we're supposed to do */
#define F_GET 1
#define F_SET 2
@@ -148,6 +157,16 @@
argc -= optind;
argv += optind;
+ memset(&so_mask, 0, sizeof (so_mask));
+ so_mask.sin_family = 8;
+ so_mask.sin_addr.s_addr = 0xffffffff;
+ memset(&blank_sin, 0, sizeof (blank_sin));
+ blank_sin.sin_len = sizeof (blank_sin);
+ blank_sin.sin_family = AF_INET;
+ memset(&blank_sdl, 0, sizeof (blank_sdl));
+ blank_sdl.sdl_len = sizeof (blank_sdl);
+ blank_sdl.sdl_family = AF_LINK;
+
if (!func)
func = F_GET;
switch (func) {
@@ -234,15 +253,6 @@
}
}
-struct sockaddr_in so_mask = {8, 0, 0, { 0xffffffff}};
-struct sockaddr_inarp blank_sin = {sizeof(blank_sin), AF_INET }, sin_m;
-struct sockaddr_dl blank_sdl = {sizeof(blank_sdl), AF_LINK }, sdl_m;
-int expire_time, flags, doing_proxy, proxy_only, found_entry;
-struct {
- struct rt_msghdr m_rtm;
- char m_space[512];
-} m_rtmsg;
-
/*
* Set an individual arp entry
*/
@@ -250,7 +260,7 @@
set(int argc, char **argv)
{
struct hostent *hp;
- register struct sockaddr_inarp *sin = &sin_m;
+ register struct sockaddr_inarp *addr = &sin_m;
register struct sockaddr_dl *sdl;
register struct rt_msghdr *rtm = &(m_rtmsg.m_rtm);
u_char *ea;
@@ -261,14 +271,14 @@
argv += 2;
sdl_m = blank_sdl;
sin_m = blank_sin;
- sin->sin_addr.s_addr = inet_addr(host);
- if (sin->sin_addr.s_addr == INADDR_NONE) {
+ addr->sin_addr.s_addr = inet_addr(host);
+ if (addr->sin_addr.s_addr == INADDR_NONE) {
if (!(hp = gethostbyname(host))) {
warnx("%s: %s", host, hstrerror(h_errno));
return (1);
}
- bcopy((char *)hp->h_addr, (char *)&sin->sin_addr,
- sizeof sin->sin_addr);
+ bcopy((char *)hp->h_addr, (char *)&addr->sin_addr,
+ sizeof addr->sin_addr);
}
doing_proxy = flags = proxy_only = expire_time = 0;
while (argc-- > 0) {
@@ -293,9 +303,9 @@
}
ea = (u_char *)LLADDR(&sdl_m);
if (doing_proxy && !strcmp(eaddr, "auto")) {
- if (!get_ether_addr(sin->sin_addr.s_addr, ea)) {
+ if (!get_ether_addr(addr->sin_addr.s_addr, ea)) {
printf("no interface found for %s\n",
- inet_ntoa(sin->sin_addr));
+ inet_ntoa(addr->sin_addr));
return (1);
}
sdl_m.sdl_alen = 6;
@@ -308,9 +318,9 @@
warn("%s", host);
return (1);
}
- sin = (struct sockaddr_inarp *)(rtm + 1);
- sdl = (struct sockaddr_dl *)(ROUNDUP(sin->sin_len) + (char *)sin);
- if (sin->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
+ addr = (struct sockaddr_inarp *)(rtm + 1);
+ sdl = (struct sockaddr_dl *)(ROUNDUP(addr->sin_len) + (char *)addr);
+ if (addr->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
if (sdl->sdl_family == AF_LINK &&
(rtm->rtm_flags & RTF_LLINFO) &&
!(rtm->rtm_flags & RTF_GATEWAY)) switch (sdl->sdl_type) {
@@ -347,20 +357,20 @@
get(char *host)
{
struct hostent *hp;
- struct sockaddr_inarp *sin = &sin_m;
+ struct sockaddr_inarp *addr = &sin_m;
sin_m = blank_sin;
- sin->sin_addr.s_addr = inet_addr(host);
- if (sin->sin_addr.s_addr == INADDR_NONE) {
+ addr->sin_addr.s_addr = inet_addr(host);
+ if (addr->sin_addr.s_addr == INADDR_NONE) {
if (!(hp = gethostbyname(host)))
errx(1, "%s: %s", host, hstrerror(h_errno));
- bcopy((char *)hp->h_addr, (char *)&sin->sin_addr,
- sizeof sin->sin_addr);
+ bcopy((char *)hp->h_addr, (char *)&addr->sin_addr,
+ sizeof addr->sin_addr);
}
- search(sin->sin_addr.s_addr, print_entry);
+ search(addr->sin_addr.s_addr, print_entry);
if (found_entry == 0) {
printf("%s (%s) -- no entry\n",
- host, inet_ntoa(sin->sin_addr));
+ host, inet_ntoa(addr->sin_addr));
return(1);
}
return(0);
@@ -373,7 +383,7 @@
delete(char *host, char *info)
{
struct hostent *hp;
- register struct sockaddr_inarp *sin = &sin_m;
+ register struct sockaddr_inarp *addr = &sin_m;
register struct rt_msghdr *rtm = &m_rtmsg.m_rtm;
struct sockaddr_dl *sdl;
@@ -385,23 +395,23 @@
else
usage();
}
- sin->sin_addr.s_addr = inet_addr(host);
- if (sin->sin_addr.s_addr == INADDR_NONE) {
+ addr->sin_addr.s_addr = inet_addr(host);
+ if (addr->sin_addr.s_addr == INADDR_NONE) {
if (!(hp = gethostbyname(host))) {
warnx("%s: %s", host, hstrerror(h_errno));
return (1);
}
- bcopy((char *)hp->h_addr, (char *)&sin->sin_addr,
- sizeof sin->sin_addr);
+ bcopy((char *)hp->h_addr, (char *)&addr->sin_addr,
+ sizeof addr->sin_addr);
}
tryagain:
if (rtmsg(RTM_GET) < 0) {
warn("%s", host);
return (1);
}
- sin = (struct sockaddr_inarp *)(rtm + 1);
- sdl = (struct sockaddr_dl *)(ROUNDUP(sin->sin_len) + (char *)sin);
- if (sin->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
+ addr = (struct sockaddr_inarp *)(rtm + 1);
+ sdl = (struct sockaddr_dl *)(ROUNDUP(addr->sin_len) + (char *)addr);
+ if (addr->sin_addr.s_addr == sin_m.sin_addr.s_addr) {
if (sdl->sdl_family == AF_LINK &&
(rtm->rtm_flags & RTF_LLINFO) &&
!(rtm->rtm_flags & RTF_GATEWAY)) switch (sdl->sdl_type) {
@@ -423,7 +433,7 @@
return (1);
}
if (rtmsg(RTM_DELETE) == 0) {
- printf("%s (%s) deleted\n", host, inet_ntoa(sin->sin_addr));
+ printf("%s (%s) deleted\n", host, inet_ntoa(addr->sin_addr));
return (0);
}
return (1);
@@ -440,7 +450,7 @@
size_t needed;
char *lim, *buf, *next;
struct rt_msghdr *rtm;
- struct sockaddr_inarp *sin;
+ struct sockaddr_inarp *sin2;
struct sockaddr_dl *sdl;
mib[0] = CTL_NET;
@@ -458,14 +468,14 @@
lim = buf + needed;
for (next = buf; next < lim; next += rtm->rtm_msglen) {
rtm = (struct rt_msghdr *)next;
- sin = (struct sockaddr_inarp *)(rtm + 1);
- (char *)sdl = (char *)sin + ROUNDUP(sin->sin_len);
+ sin2 = (struct sockaddr_inarp *)(rtm + 1);
+ (char *)sdl = (char *)sin2 + ROUNDUP(sin2->sin_len);
if (addr) {
- if (addr != sin->sin_addr.s_addr)
+ if (addr != sin2->sin_addr.s_addr)
continue;
found_entry = 1;
}
- (*action)(sdl, sin, rtm);
+ (*action)(sdl, sin2, rtm);
}
free(buf);
}
@@ -475,7 +485,7 @@
*/
void
print_entry(struct sockaddr_dl *sdl,
- struct sockaddr_inarp *sin, struct rt_msghdr *rtm)
+ struct sockaddr_inarp *addr, struct rt_msghdr *rtm)
{
const char *host;
struct hostent *hp;
@@ -483,8 +493,8 @@
int seg;
if (nflag == 0)
- hp = gethostbyaddr((caddr_t)&(sin->sin_addr),
- sizeof sin->sin_addr, AF_INET);
+ hp = gethostbyaddr((caddr_t)&(addr->sin_addr),
+ sizeof addr->sin_addr, AF_INET);
else
hp = 0;
if (hp)
@@ -494,7 +504,7 @@
if (h_errno == TRY_AGAIN)
nflag = 1;
}
- printf("%s (%s) at ", host, inet_ntoa(sin->sin_addr));
+ printf("%s (%s) at ", host, inet_ntoa(addr->sin_addr));
if (sdl->sdl_alen)
ether_print(LLADDR(sdl));
else
@@ -503,14 +513,14 @@
printf(" on %s", ifname);
if (rtm->rtm_rmx.rmx_expire == 0)
printf(" permanent");
- if (sin->sin_other & SIN_PROXY)
+ if (addr->sin_other & SIN_PROXY)
printf(" published (proxy only)");
if (rtm->rtm_addrs & RTA_NETMASK) {
- sin = (struct sockaddr_inarp *)
+ addr = (struct sockaddr_inarp *)
(ROUNDUP(sdl->sdl_len) + (char *)sdl);
- if (sin->sin_addr.s_addr == 0xffffffff)
+ if (addr->sin_addr.s_addr == 0xffffffff)
printf(" published");
- if (sin->sin_len != 8)
+ if (addr->sin_len != 8)
printf("(weird)");
}
switch(sdl->sdl_type) {
@@ -545,12 +555,12 @@
* Nuke an arp entry
*/
void
-nuke_entry(struct sockaddr_dl *sdl,
- struct sockaddr_inarp *sin, struct rt_msghdr *rtm)
+nuke_entry(struct sockaddr_dl *sdl __unused,
+ struct sockaddr_inarp *addr, struct rt_msghdr *rtm __unused)
{
char ip[20];
- snprintf(ip, sizeof(ip), "%s", inet_ntoa(sin->sin_addr));
+ snprintf(ip, sizeof(ip), "%s", inet_ntoa(addr->sin_addr));
delete(ip, NULL);
}
@@ -670,17 +680,17 @@
struct ifreq ifreq;
struct ifconf ifc;
struct ifreq ifs[MAX_IFS];
- int s;
+ int sock;
- s = socket(AF_INET, SOCK_DGRAM, 0);
- if (s < 0)
+ sock = socket(AF_INET, SOCK_DGRAM, 0);
+ if (sock < 0)
err(1, "socket");
ifc.ifc_len = sizeof(ifs);
ifc.ifc_req = ifs;
if (ioctl(s, SIOCGIFCONF, &ifc) < 0) {
warnx("ioctl(SIOCGIFCONF)");
- close(s);
+ close(sock);
return 0;
}
@@ -724,7 +734,7 @@
}
if (ifr >= ifend) {
- close(s);
+ close(sock);
return 0;
}
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/boot0cfg/Makefile,v
retrieving revision 1.6
diff -u -r1.6 Makefile
--- Makefile 21 Jul 2001 14:32:45 -0000 1.6
+++ Makefile 9 Dec 2001 17:31:17 -0000
@@ -3,4 +3,6 @@
PROG= boot0cfg
MAN= boot0cfg.8
+WARNS?= 2
+
.include <bsd.prog.mk>
Index: boot0cfg.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/boot0cfg/boot0cfg.c,v
retrieving revision 1.11
diff -u -r1.11 boot0cfg.c
--- boot0cfg.c 22 Mar 2001 22:55:13 -0000 1.11
+++ boot0cfg.c 9 Dec 2001 17:39:56 -0000
@@ -92,7 +92,8 @@
{
u_int8_t *mbr, *boot0;
int boot0_size, mbr_size;
- const char *bpath, *fpath, *disk;
+ const char *bpath, *fpath;
+ char *disk;
int B_flag, v_flag, o_flag;
int d_arg, m_arg, s_arg, t_arg;
int o_and, o_or;
@@ -201,6 +202,7 @@
if (mbr != boot0)
free(boot0);
free(mbr);
+ free(disk);
return 0;
}
@@ -316,7 +318,7 @@
return 0x100;
/* We have a newer boot0, so extract the version number and return it. */
- return *(int *)(bs + OFF_VERSION) & 0xffff;
+ return *(const int *)(bs + OFF_VERSION) & 0xffff;
}
/*
@@ -337,7 +339,7 @@
{0x0, sizeof(id0), id0},
{0x1b2, sizeof(id1), id1}
};
- int i;
+ unsigned int i;
for (i = 0; i < sizeof(ident) / sizeof(ident[0]); i++)
if (memcmp(bs + ident[i].off, ident[i].key, ident[i].len))
@@ -385,12 +387,14 @@
char buf[MAXPATHLEN];
char *s;
- s = (char *)fname;
if (!strchr(fname, '/')) {
snprintf(buf, sizeof(buf), "%s%s", _PATH_DEV, fname);
- if (!(s = strdup(buf)))
- err(1, NULL);
- }
+ s = strdup(buf);
+ } else
+ s = strdup(fname);
+
+ if (s == NULL)
+ errx(1, "No more memory");
return s;
}
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/chroot/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- Makefile 26 Mar 2001 14:39:41 -0000 1.4
+++ Makefile 9 Dec 2001 16:59:49 -0000
@@ -4,4 +4,6 @@
PROG= chroot
MAN= chroot.8
+WARNS?= 2
+
.include <bsd.prog.mk>
Index: chroot.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/chroot/chroot.c,v
retrieving revision 1.5
diff -u -r1.5 chroot.c
--- chroot.c 9 Jul 2001 09:23:57 -0000 1.5
+++ chroot.c 9 Dec 2001 17:01:00 -0000
@@ -62,7 +62,7 @@
char *argv[];
{
int ch;
- char *shell;
+ const char *shell;
while ((ch = getopt(argc, argv, "")) != -1)
switch(ch) {
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/digictl/Makefile,v
retrieving revision 1.3
diff -u -r1.3 Makefile
--- Makefile 17 May 2001 01:42:52 -0000 1.3
+++ Makefile 9 Dec 2001 17:44:09 -0000
@@ -3,4 +3,6 @@
PROG= digictl
MAN= digictl.8
+WARNS?= 2
+
.include <bsd.prog.mk>
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/edquota/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- Makefile 26 Mar 2001 14:39:56 -0000 1.4
+++ Makefile 9 Dec 2001 17:46:37 -0000
@@ -4,4 +4,6 @@
PROG= edquota
MAN= edquota.8
+WARNS?= 2
+
.include <bsd.prog.mk>
Index: edquota.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/edquota/edquota.c,v
retrieving revision 1.13
diff -u -r1.13 edquota.c
--- edquota.c 28 Sep 2001 10:22:36 -0000 1.13
+++ edquota.c 9 Dec 2001 17:54:05 -0000
@@ -69,9 +69,9 @@
#include <unistd.h>
#include "pathnames.h"
-char *qfname = QUOTAFILENAME;
-char *qfextension[] = INITQFNAMES;
-char *quotagroup = QUOTAGROUP;
+const char *qfname = QUOTAFILENAME;
+const char *qfextension[] = INITQFNAMES;
+const char *quotagroup = QUOTAGROUP;
char tmpfil[] = _PATH_TMP;
struct quotause {
@@ -83,12 +83,12 @@
};
#define FOUND 0x01
-int alldigits __P((char *s));
+int alldigits __P((const char *s));
int cvtatos __P((time_t, char *, time_t *));
char *cvtstoa __P((time_t));
int editit __P((char *));
void freeprivs __P((struct quotause *));
-int getentry __P((char *, int));
+int getentry __P((const char *, int));
struct quotause *getprivs __P((long, int, char *));
int hasquota __P((struct fstab *, int, char **));
void putprivs __P((long, int, struct quotause *));
@@ -220,7 +220,7 @@
*/
int
getentry(name, quotatype)
- char *name;
+ const char *name;
int quotatype;
{
struct passwd *pw;
@@ -364,11 +364,11 @@
* Take a list of priviledges and get it edited.
*/
int
-editit(tmpfile)
- char *tmpfile;
+editit(tmpf)
+ char *tmpf;
{
long omask;
- int pid, stat;
+ int pid, status;
omask = sigblock(sigmask(SIGINT)|sigmask(SIGQUIT)|sigmask(SIGHUP));
top:
@@ -386,19 +386,19 @@
return (0);
}
if (pid == 0) {
- register char *ed;
+ register const char *ed;
sigsetmask(omask);
setgid(getgid());
setuid(getuid());
if ((ed = getenv("EDITOR")) == (char *)0)
ed = _PATH_VI;
- execlp(ed, ed, tmpfile, (char *)0);
+ execlp(ed, ed, tmpf, (char *)0);
err(1, "%s", ed);
}
- waitpid(pid, &stat, 0);
+ waitpid(pid, &status, 0);
sigsetmask(omask);
- if (!WIFEXITED(stat) || WEXITSTATUS(stat) != 0)
+ if (!WIFEXITED(status) || WEXITSTATUS(status) != 0)
return (0);
return (1);
}
@@ -653,22 +653,22 @@
* Convert seconds to ASCII times.
*/
char *
-cvtstoa(time)
- time_t time;
+cvtstoa(secs)
+ time_t secs;
{
static char buf[20];
- if (time % (24 * 60 * 60) == 0) {
- time /= 24 * 60 * 60;
- sprintf(buf, "%ld day%s", (long)time, time == 1 ? "" : "s");
- } else if (time % (60 * 60) == 0) {
- time /= 60 * 60;
- sprintf(buf, "%ld hour%s", (long)time, time == 1 ? "" : "s");
- } else if (time % 60 == 0) {
- time /= 60;
- sprintf(buf, "%ld minute%s", (long)time, time == 1 ? "" : "s");
+ if (secs % (24 * 60 * 60) == 0) {
+ secs /= 24 * 60 * 60;
+ sprintf(buf, "%ld day%s", (long)secs, secs == 1 ? "" : "s");
+ } else if (secs % (60 * 60) == 0) {
+ secs /= 60 * 60;
+ sprintf(buf, "%ld hour%s", (long)secs, secs == 1 ? "" : "s");
+ } else if (secs % 60 == 0) {
+ secs /= 60;
+ sprintf(buf, "%ld minute%s", (long)secs, secs == 1 ? "" : "s");
} else
- sprintf(buf, "%ld second%s", (long)time, time == 1 ? "" : "s");
+ sprintf(buf, "%ld second%s", (long)secs, secs == 1 ? "" : "s");
return (buf);
}
@@ -676,20 +676,20 @@
* Convert ASCII input times to seconds.
*/
int
-cvtatos(time, units, seconds)
- time_t time;
+cvtatos(tim, units, seconds)
+ time_t tim;
char *units;
time_t *seconds;
{
if (bcmp(units, "second", 6) == 0)
- *seconds = time;
+ *seconds = tim;
else if (bcmp(units, "minute", 6) == 0)
- *seconds = time * 60;
+ *seconds = tim * 60;
else if (bcmp(units, "hour", 4) == 0)
- *seconds = time * 60 * 60;
+ *seconds = tim * 60 * 60;
else if (bcmp(units, "day", 3) == 0)
- *seconds = time * 24 * 60 * 60;
+ *seconds = tim * 24 * 60 * 60;
else {
printf("%s: bad units, specify %s\n", units,
"days, hours, minutes, or seconds");
@@ -718,9 +718,9 @@
*/
int
alldigits(s)
- register char *s;
+ register const char *s;
{
- register c;
+ register int c;
c = *s++;
do {
Index: Makefile
===================================================================
RCS file: /home/ncvs/src/usr.sbin/repquota/Makefile,v
retrieving revision 1.4
diff -u -r1.4 Makefile
--- Makefile 26 Mar 2001 14:41:39 -0000 1.4
+++ Makefile 9 Dec 2001 17:57:43 -0000
@@ -4,4 +4,6 @@
PROG= repquota
MAN= repquota.8
+WARNS?= 2
+
.include <bsd.prog.mk>
Index: repquota.c
===================================================================
RCS file: /home/ncvs/src/usr.sbin/repquota/repquota.c,v
retrieving revision 1.10
diff -u -r1.10 repquota.c
--- repquota.c 19 Jun 2001 00:47:24 -0000 1.10
+++ repquota.c 9 Dec 2001 18:06:39 -0000
@@ -78,8 +78,8 @@
#define max(a,b) ((a) >= (b) ? (a) : (b))
-char *qfname = QUOTAFILENAME;
-char *qfextension[] = INITQFNAMES;
+const char *qfname = QUOTAFILENAME;
+const char *qfextension[] = INITQFNAMES;
struct fileusage {
struct fileusage *fu_next;
@@ -90,8 +90,8 @@
};
#define FUHASH 1024 /* must be power of two */
struct fileusage *fuhead[MAXQUOTAS][FUHASH];
-struct fileusage *lookup();
-struct fileusage *addid();
+struct fileusage *lookup(u_long, int);
+struct fileusage *addid(u_long, int, char *);
u_long highid[MAXQUOTAS]; /* highest addid()'ed identifier per type */
int vflag; /* verbose */
@@ -257,9 +257,9 @@
fup->fu_dqblk.dqb_bsoftlimit ?
timeprt(fup->fu_dqblk.dqb_btime) : "-");
printf(" %7lu %7lu %7lu %6s\n",
- fup->fu_dqblk.dqb_curinodes,
- fup->fu_dqblk.dqb_isoftlimit,
- fup->fu_dqblk.dqb_ihardlimit,
+ (unsigned long)fup->fu_dqblk.dqb_curinodes,
+ (unsigned long)fup->fu_dqblk.dqb_isoftlimit,
+ (unsigned long)fup->fu_dqblk.dqb_ihardlimit,
fup->fu_dqblk.dqb_isoftlimit &&
fup->fu_dqblk.dqb_curinodes >=
fup->fu_dqblk.dqb_isoftlimit ?
@@ -389,19 +389,22 @@
if (now == 0)
time(&now);
- if (now > seconds)
- return ("none");
+ if (now > seconds) {
+ strlcpy(buf, "none", sizeof (buf));
+ return (buf);
+ }
seconds -= now;
minutes = (seconds + 30) / 60;
hours = (minutes + 30) / 60;
if (hours >= 36) {
- sprintf(buf, "%lddays", (hours + 12) / 24);
+ sprintf(buf, "%lddays", (long)(hours + 12) / 24);
return (buf);
}
if (minutes >= 60) {
- sprintf(buf, "%2ld:%ld", minutes / 60, minutes % 60);
+ sprintf(buf, "%2ld:%ld", (long)minutes / 60,
+ (long)minutes % 60);
return (buf);
}
- sprintf(buf, "%2ld", minutes);
+ sprintf(buf, "%2ld", (long)minutes);
return (buf);
}
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20011209220112.B298>
