]> git.proxmox.com Git - qemu.git/commitdiff
dirent fixes
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 24 Mar 2003 23:12:16 +0000 (23:12 +0000)
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>
Mon, 24 Mar 2003 23:12:16 +0000 (23:12 +0000)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@48 c046a42c-6fe2-441c-8c8c-71466251a162

linux-user/syscall.c

index 5f02fb72e69d85a86e94bb90745f252def3bdf56..f0f790f5f863993ab6c0ba61d0fe1e7c250874f4 100644 (file)
@@ -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);