summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorderaadt <deraadt@openbsd.org>1997-06-29 07:15:29 +0000
committerderaadt <deraadt@openbsd.org>1997-06-29 07:15:29 +0000
commit5bfa69bd4f50d26e959d1eea401433869e0dff84 (patch)
treed278e8eec329048e095363b5795fc47cfc00467f
parentUse u_int16_t, not short in struct tftphdr. From Marc Evans <marc@destek.net>. (diff)
downloadwireguard-openbsd-5bfa69bd4f50d26e959d1eea401433869e0dff84.tar.xz
wireguard-openbsd-5bfa69bd4f50d26e959d1eea401433869e0dff84.zip
Wall, in part from mikel
-rw-r--r--usr.sbin/bad144/bad144.c45
1 files changed, 31 insertions, 14 deletions
diff --git a/usr.sbin/bad144/bad144.c b/usr.sbin/bad144/bad144.c
index cec3af46331..40b4a87ea9a 100644
--- a/usr.sbin/bad144/bad144.c
+++ b/usr.sbin/bad144/bad144.c
@@ -39,7 +39,7 @@ static char copyright[] =
#ifndef lint
/*static char sccsid[] = "from: @(#)bad144.c 8.1 (Berkeley) 6/6/93";*/
-static char *rcsid = "$Id: bad144.c,v 1.1.1.1 1995/10/18 08:47:25 deraadt Exp $";
+static char *rcsid = "$Id: bad144.c,v 1.2 1997/06/29 07:15:29 deraadt Exp $";
#endif not lint
/*
@@ -63,6 +63,8 @@ static char *rcsid = "$Id: bad144.c,v 1.1.1.1 1995/10/18 08:47:25 deraadt Exp $"
#include <sys/disklabel.h>
#include <ufs/ffs/fs.h>
+#include <unistd.h>
+#include <stdlib.h>
#include <stdio.h>
#include <paths.h>
@@ -74,7 +76,6 @@ static char *rcsid = "$Id: bad144.c,v 1.1.1.1 1995/10/18 08:47:25 deraadt Exp $"
#endif
int fflag, add, copy, verbose, nflag;
-int compare();
int dups;
int badfile = -1; /* copy of badsector table to use, -1 if any */
#define MAXSECSIZE 1024
@@ -82,12 +83,20 @@ struct dkbad curbad, oldbad;
#define DKBAD_MAGIC 0x4321
char label[BBSIZE];
-daddr_t size, getold(), badsn();
+daddr_t size;
struct disklabel *dp;
char name[BUFSIZ];
-char *malloc();
-off_t lseek();
+void Perror __P((const char *));
+daddr_t badsn __P((const struct bt_bad *));
+int blkcopy __P((int, daddr_t, daddr_t));
+void blkzero __P((int, daddr_t));
+int checkold __P((void));
+int compare __P((const void *, const void *));
+daddr_t getold __P((int, struct dkbad *));
+void shift __P((int, int, int));
+
+int
main(argc, argv)
int argc;
char *argv[];
@@ -218,7 +227,7 @@ usage:
bt->bt_cyl, bt->bt_trksec>>8, bt->bt_trksec&0xff);
bt++;
}
- (void) checkold(&oldbad);
+ (void) checkold();
exit(0);
}
if (add) {
@@ -228,7 +237,7 @@ usage:
* are in order. Copy the old table to the new one.
*/
(void) getold(f, &oldbad);
- i = checkold(&oldbad);
+ i = checkold();
if (verbose)
printf("Had %d bad sectors, adding %d\n", i, argc);
if (i + argc > 126) {
@@ -364,11 +373,12 @@ struct dkbad *bad;
/*NOTREACHED*/
}
+int
checkold()
{
register int i;
register struct bt_bad *bt;
- daddr_t sn, lsn;
+ daddr_t sn, lsn = 0;
int errors = 0, warned = 0;
if (oldbad.bt_flag != DKBAD_MAGIC) {
@@ -421,6 +431,7 @@ checkold()
* to make room for the new bad sectors.
* new is the new number of bad sectors, old is the previous count.
*/
+void
shift(f, new, old)
{
daddr_t repl;
@@ -457,6 +468,7 @@ char *buf;
/*
* Copy disk sector s1 to s2.
*/
+int
blkcopy(f, s1, s2)
daddr_t s1, s2;
{
@@ -496,6 +508,7 @@ daddr_t s1, s2;
char *zbuf;
+void
blkzero(f, sn)
daddr_t sn;
{
@@ -518,9 +531,12 @@ daddr_t sn;
}
}
-compare(b1, b2)
-register struct bt_bad *b1, *b2;
+int
+compare(v1, v2)
+ const void *v1, *v2;
{
+ const struct bt_bad *b1 = v1, *b2 = v2;
+
if (b1->bt_cyl > b2->bt_cyl)
return(1);
if (b1->bt_cyl < b2->bt_cyl)
@@ -532,7 +548,7 @@ register struct bt_bad *b1, *b2;
daddr_t
badsn(bt)
-register struct bt_bad *bt;
+ const struct bt_bad *bt;
{
return ((bt->bt_cyl*dp->d_ntracks + (bt->bt_trksec>>8)) * dp->d_nsectors
+ (bt->bt_trksec&0xff));
@@ -686,10 +702,11 @@ format(fd, blk)
}
#endif
+void
Perror(op)
- char *op;
+ const char *op;
{
-
- fprintf(stderr, "bad144: "); perror(op);
+ fprintf(stderr, "bad144: ");
+ perror(op);
exit(4);
}