Quellcode durchsuchen

Kernel: Oops, I mixed up st_dev and st_rdev in struct stat.

Andreas Kling vor 6 Jahren
Ursprung
Commit
0c9a2b1430
2 geänderte Dateien mit 3 neuen und 3 gelöschten Zeilen
  1. 2 2
      Kernel/FileDescriptor.cpp
  2. 1 1
      Userland/ls.cpp

+ 2 - 2
Kernel/FileDescriptor.cpp

@@ -91,13 +91,13 @@ int FileDescriptor::fstat(stat* buffer)
     if (!metadata.is_valid())
         return -EIO;
 
-    buffer->st_dev = encoded_device(metadata.major_device, metadata.minor_device);
+    buffer->st_rdev = encoded_device(metadata.major_device, metadata.minor_device);
     buffer->st_ino = metadata.inode.index();
     buffer->st_mode = metadata.mode;
     buffer->st_nlink = metadata.link_count;
     buffer->st_uid = metadata.uid;
     buffer->st_gid = metadata.gid;
-    buffer->st_rdev = 0; // FIXME
+    buffer->st_dev = 0; // FIXME
     buffer->st_size = metadata.size;
     buffer->st_blksize = metadata.block_size;
     buffer->st_blocks = metadata.block_count;

+ 1 - 1
Userland/ls.cpp

@@ -159,7 +159,7 @@ int do_dir(const char* path)
         printf(" %4u %4u", st.st_uid, st.st_gid);
 
         if (S_ISCHR(st.st_mode))
-            printf("  %4u,%4u ", major(st.st_dev), minor(st.st_dev));
+            printf("  %4u,%4u ", major(st.st_rdev), minor(st.st_rdev));
         else
             printf(" %10u ", st.st_size);