summaryrefslogtreecommitdiff
path: root/lib/ext2fs/dirblock.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ext2fs/dirblock.c')
-rw-r--r--lib/ext2fs/dirblock.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/ext2fs/dirblock.c b/lib/ext2fs/dirblock.c
index bb2f7175..3d5dbb2b 100644
--- a/lib/ext2fs/dirblock.c
+++ b/lib/ext2fs/dirblock.c
@@ -27,7 +27,7 @@ errcode_t ext2fs_read_dir_block(ext2_filsys fs, blk_t block,
retval = io_channel_read_blk(fs->io, block, 1, buf);
if (retval)
return retval;
- if ((fs->flags & EXT2_SWAP_BYTES) == 0)
+ if ((fs->flags & (EXT2_SWAP_BYTES|EXT2_SWAP_BYTES_READ)) == 0)
return 0;
p = buf;
end = (char *) buf + fs->blocksize;
@@ -49,7 +49,8 @@ errcode_t ext2fs_write_dir_block(ext2_filsys fs, blk_t block,
char *buf = 0;
struct ext2_dir_entry *dirent;
- if (fs->flags & EXT2_SWAP_BYTES) {
+ if ((fs->flags & EXT2_SWAP_BYTES) ||
+ (fs->flags & EXT2_SWAP_BYTES_WRITE)) {
write_buf = buf = malloc(fs->blocksize);
if (!buf)
return ENOMEM;