]> git.ipfire.org Git - thirdparty/xfsprogs-dev.git/commitdiff
xfsprogs: Add ifdef dirent checks where it was missing
authorJan Tulak <jtulak@redhat.com>
Tue, 18 Aug 2015 07:53:17 +0000 (17:53 +1000)
committerDave Chinner <david@fromorbit.com>
Tue, 18 Aug 2015 07:53:17 +0000 (17:53 +1000)
CHANGED: text width fix

Add check for _DIRENT_HAVED_RECLEN/_OFF to read_directory().
In dump_dirent() these checks already are used, but they were
missing in read_directory.

Signed-off-by: Jan Tulak <jtulak@redhat.com>
Reviewed-by: Dave Chinner <dchinner@redhat.com>
Signed-off-by: Dave Chinner <david@fromorbit.com>
io/readdir.c

index 7b0edbc61fed54e42b74c77c249e80c21d341b2e..151b72eb4512a5a28546b067ff47fe72aa8184c5 100644 (file)
@@ -103,12 +103,24 @@ read_directory(
                if (!dirent)
                        break;
 
+#ifdef _DIRENT_HAVE_D_RECLEN
                *total += dirent->d_reclen;
+#else
+               *total += dirent->d_namlen + sizeof(*dirent);
+#endif
                count++;
 
                if (dump) {
                        dump_dirent(offset, dirent);
+#ifdef _DIRENT_HAVE_D_OFF
                        offset = dirent->d_off;
+#else
+                       /* Some platforms don't have dirent->d_off, but because
+                        * it is used only for dumping the value, it should be
+                        * safe to only set it to zero in such case.
+                        */
+                       offset = 0;
+#endif
                }
        }