>Someone needs to work out and provide a fix for 97031/97545 (fdutils
>doesn't build on arm/unstable).
This code scares me quite a lot, but here's a patch that at least makes it
compile again.
p.
diff -upr clean/fdutils-5.3/src/diskd.c fdutils-5.3/src/diskd.c
--- clean/fdutils-5.3/src/diskd.c Sun May 27 14:11:49 2001
+++ fdutils-5.3/src/diskd.c Sun May 27 14:06:10 2001
@@ -9,8 +9,6 @@
#include <sys/ioctl.h>
#include <fcntl.h>
#include <sys/stat.h>
-#include <linux/fs.h>
-#include <linux/major.h>
#include <string.h>
#include "enh_options.h"
Only in fdutils-5.3/src: diskd.o
Only in fdutils-5.3/src: diskseekd
diff -upr clean/fdutils-5.3/src/diskseekd.c fdutils-5.3/src/diskseekd.c
--- clean/fdutils-5.3/src/diskseekd.c Sun May 27 14:11:49 2001
+++ fdutils-5.3/src/diskseekd.c Sun May 27 14:05:50 2001
@@ -9,7 +9,7 @@
#include <sys/ioctl.h>
#include <fcntl.h>
#include <sys/stat.h>
-#include <linux/fs.h>
+#include <sys/sysmacros.h>
#include <linux/major.h>
#include <string.h>
#include "enh_options.h"
@@ -118,12 +118,12 @@ int main(int argc, char **argv)
perror("fstat");
exit(1);
}
- if (MAJOR(buf.st_rdev) != FLOPPY_MAJOR) {
+ if (major(buf.st_rdev) != FLOPPY_MAJOR) {
fprintf(stderr,"Not a floppy drive\n");
exit(1);
}
- drive = MINOR( buf.st_rdev );
+ drive = minor( buf.st_rdev );
drive = (drive & 3) + ((drive & 0x80) >> 5);
/* reset the fdc, if needed */
Only in fdutils-5.3/src: diskseekd.o
diff -upr clean/fdutils-5.3/src/driveprm.c fdutils-5.3/src/driveprm.c
--- clean/fdutils-5.3/src/driveprm.c Sun May 27 14:11:49 2001
+++ fdutils-5.3/src/driveprm.c Sun May 27 13:59:06 2001
@@ -1,10 +1,9 @@
#include <stdlib.h>
#include <stdio.h>
-#include <linux/fd.h>
#include <sys/ioctl.h>
-#include <linux/fs.h>
-#include <linux/major.h>
#include <string.h>
+#include <sys/sysmacros.h>
+#include <linux/major.h>
#include "parse.h"
#include "driveprm.h"
#include "driveprmP.h"
@@ -137,12 +136,12 @@ static int getdrivenum(int fd, struct st
}
if (!S_ISBLK(buf->st_mode) ||
- MAJOR(buf->st_rdev) != FLOPPY_MAJOR) {
+ major(buf->st_rdev) != FLOPPY_MAJOR) {
fprintf(stderr,"Not a floppy drive\n");
exit(1);
}
- num = MINOR( buf->st_rdev );
+ num = minor( buf->st_rdev );
return (num & 3) + ((num & 0x80) >> 5);
}
Only in fdutils-5.3/src: fdmount
diff -upr clean/fdutils-5.3/src/fdmount.c fdutils-5.3/src/fdmount.c
--- clean/fdutils-5.3/src/fdmount.c Sun May 27 14:11:49 2001
+++ fdutils-5.3/src/fdmount.c Sun May 27 14:04:47 2001
@@ -12,9 +12,11 @@
#include <sys/ioctl.h>
#include <sys/mount.h>
#include <linux/fd.h>
-#include <linux/fs.h>
-#include <linux/minix_fs.h>
#include <string.h>
+#include <limits.h>
+
+#include <linux/types.h>
+#include <linux/minix_fs.h>
#ifdef HAVE_LINUX_EXT_FS_H
#include <linux/ext_fs.h>
Only in fdutils-5.3/src: fdrawcmd
Only in fdutils-5.3/src: fdrawcmd.o
Only in fdutils-5.3/src: floppycontrol
Only in fdutils-5.3/src: floppycontrol.o
Only in fdutils-5.3/src: floppymeter
diff -upr clean/fdutils-5.3/src/floppymeter.c fdutils-5.3/src/floppymeter.c
--- clean/fdutils-5.3/src/floppymeter.c Sun May 27 14:11:49 2001
+++ fdutils-5.3/src/floppymeter.c Sun May 27 14:06:41 2001
@@ -8,7 +8,7 @@
#include <sys/time.h>
#include <fcntl.h>
#include <sys/stat.h>
-#include <linux/fs.h>
+#include <sys/sysmacros.h>
#include <linux/major.h>
#include <getopt.h>
#include <string.h>
@@ -161,11 +161,11 @@ void main(int argc, char **argv)
perror("fstat");
exit(1);
}
- if (!S_ISBLK(buf.st_mode) || MAJOR(buf.st_rdev) != FLOPPY_MAJOR) {
+ if (!S_ISBLK(buf.st_mode) || major(buf.st_rdev) != FLOPPY_MAJOR) {
fprintf(stderr,"%s is not a floppy drive\n", name);
exit(1);
}
- dn = MINOR( buf.st_rdev );
+ dn = minor( buf.st_rdev );
dn = (dn & 3) + ((dn & 0x80) >> 5);
if(ioctl(fd, FDGETDRVPRM, &dpr) < 0) {
Only in fdutils-5.3/src: floppymeter.o
Only in fdutils-5.3/src: getfdprm
Only in fdutils-5.3/src: getfdprm.o
Only in fdutils-5.3/src: libfdutils.a
diff -upr clean/fdutils-5.3/src/measure.c fdutils-5.3/src/measure.c
--- clean/fdutils-5.3/src/measure.c Sun May 27 14:11:49 2001
+++ fdutils-5.3/src/measure.c Sun May 27 13:20:27 2001
@@ -8,8 +8,6 @@
#include <sys/time.h>
#include <fcntl.h>
#include <sys/stat.h>
-#include <linux/fs.h>
-#include <linux/major.h>
#include <getopt.h>
#include <string.h>
#include "enh_options.h"
Only in fdutils-5.3/src: setfdprm
Only in fdutils-5.3/src: superformat
diff -upr clean/fdutils-5.3/src/superformat.c fdutils-5.3/src/superformat.c
--- clean/fdutils-5.3/src/superformat.c Sun May 27 14:11:49 2001
+++ fdutils-5.3/src/superformat.c Sun May 27 13:46:58 2001
@@ -36,8 +36,7 @@ Todo:
#include <sys/ioctl.h>
#include <fcntl.h>
#include <sys/stat.h>
-#include <linux/fs.h>
-#include <linux/major.h>
+#include <sys/sysmacros.h>
#include <string.h>
#include <errno.h>
#include "enh_options.h"
@@ -707,7 +706,7 @@ int main(int argc, char **argv)
fd[0].drive = drivedesc.drivenum;
fd[0].drvprm = drivedesc.drvprm;
- if(MINOR(drivedesc.buf.st_rdev) & 0x7c) {
+ if(minor(drivedesc.buf.st_rdev) & 0x7c) {
if(fd[0].name == drivename) {
fprintf(stderr,
"%s has bad minor/major numbers\n",
Only in fdutils-5.3/src: superformat.o
Only in fdutils-5.3/src: xdfcopy
diff -upr clean/fdutils-5.3/src/xdfcopy.c fdutils-5.3/src/xdfcopy.c
--- clean/fdutils-5.3/src/xdfcopy.c Sun May 27 14:11:49 2001
+++ fdutils-5.3/src/xdfcopy.c Sun May 27 14:01:34 2001
@@ -5,15 +5,13 @@
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
-#include <unistd.h>
#include <linux/fd.h>
#include <linux/fdreg.h>
#include <sys/ioctl.h>
-#include <sys/time.h>
#include <fcntl.h>
#include <sys/stat.h>
+#include <sys/sysmacros.h>
#include <linux/major.h>
-#include <linux/fs.h>
#include <string.h>
#include <sys/time.h>
#include <errno.h>
@@ -516,10 +514,10 @@ static int get_type(int fd)
exit(0);
}
- if (!S_ISBLK(statbuf.st_mode) && MAJOR(statbuf.st_rdev) != FLOPPY_MAJOR)
+ if (!S_ISBLK(statbuf.st_mode) && major(statbuf.st_rdev) != FLOPPY_MAJOR)
return -1;
- drive = MINOR( statbuf.st_rdev );
+ drive = minor( statbuf.st_rdev );
return (drive & 3) + ((drive & 0x80) >> 5);
}
Attachment:
pgpgUqknbJAzd.pgp
Description: PGP signature