>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: pgpyMyEpxooD5.pgp
Description: PGP signature

Reply via email to