]> git.lizzy.rs Git - rust.git/commitdiff
fix size for file mode
authorChristian Poveda <git@christianpoveda.xyz>
Tue, 24 Dec 2019 17:10:36 +0000 (12:10 -0500)
committerChristian Poveda <git@christianpoveda.xyz>
Wed, 25 Dec 2019 13:27:50 +0000 (08:27 -0500)
src/shims/fs.rs

index 8b102bf04abf4967cc8bc9ac9f45c0f65dd002e7..b3d16dba6e6e2e2444af43c67c3fb7dc50579a52 100644 (file)
@@ -291,27 +291,13 @@ fn stat(
             "S_IFLNK"
         };
 
-        let mode = this.eval_libc(mode_name)?.to_u32()?;
+        let mode = this.eval_libc(mode_name)?.to_bits(Size::from_bits(16))? as u16;
 
         let size = metadata.len();
 
-        let (access_sec, access_nsec) = extract_sec_and_nsec(
-            metadata.accessed(),
-            &mut 0,
-            0,
-        )?;
-
-        let (created_sec, created_nsec) = extract_sec_and_nsec(
-            metadata.created(),
-            &mut 0,
-            0,
-        )?;
-
-        let (modified_sec, modified_nsec) = extract_sec_and_nsec(
-            metadata.modified(),
-            &mut 0,
-            0,
-        )?;
+        let (access_sec, access_nsec) = extract_sec_and_nsec(metadata.accessed(), &mut 0, 0)?;
+        let (created_sec, created_nsec) = extract_sec_and_nsec(metadata.created(), &mut 0, 0)?;
+        let (modified_sec, modified_nsec) = extract_sec_and_nsec(metadata.modified(), &mut 0, 0)?;
 
         let dev_t_layout = this.libc_ty_layout("dev_t")?;
         let mode_t_layout = this.libc_ty_layout("mode_t")?;