--- /dev/null
+diff -ur genext2fs-1.3/genext2fs.c genext2fs-1.3-/genext2fs.c
+--- genext2fs-1.3/genext2fs.c Mon Jun 18 08:11:32 2001
++++ genext2fs-1.3-/genext2fs.c Tue Apr 9 13:28:37 2002
+@@ -983,7 +983,9 @@
+ {
+ int i;
+ int nblk = nod->i_blocks / INOBLK;
+- if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR)))
++ if((nod->i_size && !nblk) ||
++ (nod->i_mode & FM_IFBLK) == FM_IFBLK ||
++ (nod->i_mode & FM_IFCHR) == FM_IFCHR)
+ for(i = 0; i <= EXT2_TIND_BLOCK; i++)
+ nod->i_block[i] = swab32(nod->i_block[i]);
+ if(nblk <= EXT2_IND_BLOCK)
+@@ -1004,7 +1006,9 @@
+ {
+ int i;
+ int nblk = nod->i_blocks / INOBLK;
+- if((nod->i_size && !nblk) || (nod->i_mode & (FM_IFBLK | FM_IFCHR)))
++ if((nod->i_size && !nblk) ||
++ (nod->i_mode & FM_IFBLK) == FM_IFBLK ||
++ (nod->i_mode & FM_IFCHR) == FM_IFCHR)
+ for(i = 0; i <= EXT2_TIND_BLOCK; i++)
+ nod->i_block[i] = swab32(nod->i_block[i]);
+ if(nblk <= EXT2_IND_BLOCK)