@@ -280,6 +280,7 @@ struct StatResult {
280
280
st_nlink : u64 ,
281
281
st_uid : u32 ,
282
282
st_gid : u32 ,
283
+ st_size : u64 ,
283
284
}
284
285
285
286
impl PyValue for StatResult {
@@ -314,6 +315,10 @@ impl StatResultRef {
314
315
fn st_gid ( self , _vm : & VirtualMachine ) -> u32 {
315
316
self . st_gid
316
317
}
318
+
319
+ fn st_size ( self , _vm : & VirtualMachine ) -> u64 {
320
+ self . st_size
321
+ }
317
322
}
318
323
319
324
#[ cfg( unix) ]
@@ -327,6 +332,7 @@ fn os_stat(path: PyStringRef, vm: &VirtualMachine) -> PyResult {
327
332
st_nlink : meta. st_nlink ( ) ,
328
333
st_uid : meta. st_uid ( ) ,
329
334
st_gid : meta. st_gid ( ) ,
335
+ st_size : meta. st_size ( ) ,
330
336
}
331
337
. into_ref ( vm)
332
338
. into_object ( ) ) ,
@@ -345,6 +351,7 @@ fn os_stat(path: PyStringRef, vm: &VirtualMachine) -> PyResult {
345
351
st_nlink : 0 , // TODO: Not implemented in std::os::windows::fs::MetadataExt.
346
352
st_uid : 0 , // 0 on windows
347
353
st_gid : 0 , // 0 on windows
354
+ st_size : meta. file_size ( ) ,
348
355
}
349
356
. into_ref ( vm)
350
357
. into_object ( ) ) ,
@@ -387,6 +394,7 @@ pub fn make_module(vm: &VirtualMachine) -> PyObjectRef {
387
394
"st_nlink" => ctx. new_property( StatResultRef :: st_nlink) ,
388
395
"st_uid" => ctx. new_property( StatResultRef :: st_uid) ,
389
396
"st_gid" => ctx. new_property( StatResultRef :: st_gid) ,
397
+ "st_size" => ctx. new_property( StatResultRef :: st_size) ,
390
398
} ) ;
391
399
392
400
py_module ! ( vm, "_os" , {
0 commit comments