From 8083a3e50895abb6070d9f339363d05d2c5e0017 Mon Sep 17 00:00:00 2001 From: bellard Date: Mon, 24 Mar 2003 23:12:16 +0000 Subject: [PATCH] dirent fixes git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@48 c046a42c-6fe2-441c-8c8c-71466251a162 --- linux-user/syscall.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/linux-user/syscall.c b/linux-user/syscall.c index 5f02fb72e6..f0f790f5f8 100644 --- a/linux-user/syscall.c +++ b/linux-user/syscall.c @@ -1603,10 +1603,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, int reclen; de = dirp; while (len > 0) { - reclen = tswap16(de->d_reclen); + reclen = de->d_reclen; if (reclen > len) break; - de->d_reclen = reclen; + de->d_reclen = tswap16(reclen); tswapls(&de->d_ino); tswapls(&de->d_off); de = (struct dirent *)((char *)de + reclen); @@ -1626,10 +1626,10 @@ long do_syscall(void *cpu_env, int num, long arg1, long arg2, long arg3, int reclen; de = dirp; while (len > 0) { - reclen = tswap16(de->d_reclen); + reclen = de->d_reclen; if (reclen > len) break; - de->d_reclen = reclen; + de->d_reclen = tswap16(reclen); tswap64s(&de->d_ino); tswap64s(&de->d_off); de = (struct dirent64 *)((char *)de + reclen);