]> git.wh0rd.org - dump.git/blobdiff - restore/dirs.c
Prepare for release 0.4b37
[dump.git] / restore / dirs.c
index 3a8a94d4fd0dfc1a15016ac9f7b339eb7fbe5077..2a23f9486b62c940530954b69b1bdf346ff3b8f7 100644 (file)
@@ -42,7 +42,7 @@
 
 #ifndef lint
 static const char rcsid[] =
-       "$Id: dirs.c,v 1.26 2004/04/13 13:04:33 stelian Exp $";
+       "$Id: dirs.c,v 1.28 2004/05/25 10:39:30 stelian Exp $";
 #endif /* not lint */
 
 #include <config.h>
@@ -419,8 +419,11 @@ putdir(char *buf, size_t size)
                        i = DIRBLKSIZ - (loc & (DIRBLKSIZ - 1));
                        if ((dp->d_reclen & 0x3) != 0 ||
                            dp->d_reclen > i ||
-                           dp->d_reclen < DIRSIZ(0, dp) ||
-                           dp->d_namlen > MAXNAMLEN) {
+                           dp->d_reclen < DIRSIZ(0, dp)
+#if MAXNAMLEN < 255
+                           || dp->d_namlen > MAXNAMLEN
+#endif
+                           ) {
                                Vprintf(stdout, "Mangled directory: ");
                                if ((dp->d_reclen & 0x3) != 0)
                                        Vprintf(stdout,
@@ -429,10 +432,12 @@ putdir(char *buf, size_t size)
                                        Vprintf(stdout,
                                           "reclen less than DIRSIZ (%d < %d) ",
                                           dp->d_reclen, DIRSIZ(0, dp));
+#if MAXNAMLEN < 255
                                if (dp->d_namlen > MAXNAMLEN)
                                        Vprintf(stdout,
                                           "reclen name too big (%d > %d) ",
                                           dp->d_namlen, MAXNAMLEN);
+#endif
                                Vprintf(stdout, "\n");
                                loc += i;
                                continue;
@@ -513,7 +518,7 @@ rst_seekdir(RST_DIR *dirp, OFF_T loc, OFF_T base)
                return;
        loc -= base;
        if (loc < 0)
-               fprintf(stderr, "bad seek pointer to rst_seekdir %lld\n", loc);
+               fprintf(stderr, "bad seek pointer to rst_seekdir %lld\n", (long long int)loc);
        (void) LSEEK(dirp->dd_fd, base + (loc & ~(DIRBLKSIZ - 1)), SEEK_SET);
        dirp->dd_loc = loc & (DIRBLKSIZ - 1);
        if (dirp->dd_loc != 0)