]> diplodocus.org Git - nmh/blobdiff - sbr/fdcompare.c
Fix invalid pointer arithmetic.
[nmh] / sbr / fdcompare.c
index 6a45da67c03d054c559185788aebd5a184ce1cb9..7df9a89a84bfa441f7e135b03555bd054f7e33df 100644 (file)
@@ -1,8 +1,4 @@
-
-/*
- * fdcompare.c -- are two files identical?
- *
- * $Id$
+/* 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
@@ -15,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;
@@ -25,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;
 }