--- /dev/null
+*** dump-0.3/dump/traverse.c.dist Mon Dec 9 15:47:09 1996
+--- dump-0.3/dump/traverse.c Mon Dec 9 15:47:32 1996
+***************
+*** 47,52 ****
+--- 47,53 ----
+ #include <sys/stat.h>
+ #ifdef __linux__
+ #include <linux/ext2_fs.h>
++ #include <asm/bitops.h>
+ #include <bsdcompat.h>
+ #include <err.h>
+ #include <stdlib.h>
+***************
+*** 832,842 ****
+--- 833,850 ----
+ cnt = NINDIR(sblock) * sblock->fs_frag;
+ #endif
+ *size -= NINDIR(sblock) * sblock->fs_bsize;
++ #if defined(__linux__) & defined(__sparc__)
++ for(i = 0 ; i < cnt ; i += 1)
++ idblk[i] = __swab32(idblk[i]);
++ #endif
+ blksout(&idblk[0], cnt, ino);
+ return;
+ }
+ ind_level--;
+ for (i = 0; i < NINDIR(sblock); i++) {
++ #if defined(__linux__) & defined(__sparc__)
++ idblk[i] = __swab32(idblk[i]);
++ #endif
+ dmpindir(ino, idblk[i], ind_level, size);
+ if (*size <= 0)
+ return;