]> diplodocus.org Git - nmh/blobdiff - sbr/fdcompare.c
Fix invalid pointer arithmetic.
[nmh] / sbr / fdcompare.c
index 38174e021b77566b4efd0b2909be933f3debf68a..7df9a89a84bfa441f7e135b03555bd054f7e33df 100644 (file)
@@ -1,6 +1,4 @@
-
-/*
- * fdcompare.c -- are two files identical?
+/* fdcompare.c -- are two files identical?
  *
  * This code is Copyright (c) 2002, by the authors of nmh.  See the
  * COPYRIGHT file in the root directory of the nmh distribution for
@@ -13,8 +11,8 @@
 int
 fdcompare (int fd1, int fd2)
 {
-    register int i, n1, n2, resp;
-    register char *c1, *c2;
+    int i, n1, n2, resp;
+    char *c1, *c2;
     char b1[BUFSIZ], b2[BUFSIZ];
 
     resp = 1;
@@ -23,18 +21,18 @@ fdcompare (int fd1, int fd2)
            && n1 == n2) {
        c1 = b1;
        c2 = b2;
-       for (i = n1 < sizeof(b1) ? n1 : sizeof(b1); i--;)
+       for (i = n1 < (int) sizeof(b1) ? n1 : (int) sizeof(b1); i--;)
            if (*c1++ != *c2++) {
                resp = 0;
                goto leave;
            }
-       if (n1 < sizeof(b1))
+       if (n1 < (int) sizeof(b1))
            goto leave;
     }
     resp = 0;
 
 leave: ;
-    lseek (fd1, (off_t) 0, SEEK_SET);
-    lseek (fd2, (off_t) 0, SEEK_SET);
+    lseek(fd1, 0, SEEK_SET);
+    lseek(fd2, 0, SEEK_SET);
     return resp;
 }