From 6afda19f489966ffcb52edf628dba81993f81038 Mon Sep 17 00:00:00 2001 From: "Erich E. Hoover" Date: Thu, 12 May 2016 14:37:24 -0600 Subject: [PATCH] msvcrt: Add support for _fstat32i64. Signed-off-by: Erich E. Hoover Signed-off-by: Piotr Caban Signed-off-by: Alexandre Julliard --- .../api-ms-win-crt-filesystem-l1-1-0.spec | 2 +- dlls/msvcr100/msvcr100.spec | 2 +- dlls/msvcr110/msvcr110.spec | 2 +- dlls/msvcr120/msvcr120.spec | 2 +- dlls/msvcr120_app/msvcr120_app.spec | 2 +- dlls/msvcr80/msvcr80.spec | 2 +- dlls/msvcr90/msvcr90.spec | 2 +- dlls/msvcrt/file.c | 14 ++++++++++++++ dlls/ucrtbase/ucrtbase.spec | 2 +- 9 files changed, 22 insertions(+), 8 deletions(-) diff --git a/dlls/api-ms-win-crt-filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec b/dlls/api-ms-win-crt-filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec index aff4bbad4ab..dd881aafd8c 100644 --- a/dlls/api-ms-win-crt-filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec +++ b/dlls/api-ms-win-crt-filesystem-l1-1-0/api-ms-win-crt-filesystem-l1-1-0.spec @@ -13,7 +13,7 @@ @ cdecl _findnext64(long ptr) ucrtbase._findnext64 @ cdecl _findnext64i32(long ptr) ucrtbase._findnext64i32 @ cdecl _fstat32(long ptr) ucrtbase._fstat32 -@ stub _fstat32i64 +@ cdecl _fstat32i64(long ptr) ucrtbase._fstat32i64 @ cdecl _fstat64(long ptr) ucrtbase._fstat64 @ cdecl _fstat64i32(long ptr) ucrtbase._fstat64i32 @ cdecl _fullpath(ptr str long) ucrtbase._fullpath diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec index 5fae918c2d9..fa09827877a 100644 --- a/dlls/msvcr100/msvcr100.spec +++ b/dlls/msvcr100/msvcr100.spec @@ -848,7 +848,7 @@ @ cdecl _fseeki64_nolock(ptr int64 long) MSVCRT__fseeki64_nolock @ cdecl _fsopen(str str long) MSVCRT__fsopen @ cdecl _fstat32(long ptr) MSVCRT__fstat32 -@ stub _fstat32i64 +@ cdecl _fstat32i64(long ptr) MSVCRT__fstat32i64 @ cdecl _fstat64(long ptr) MSVCRT__fstat64 @ cdecl _fstat64i32(long ptr) MSVCRT__fstat64i32 @ cdecl _ftell_nolock(ptr) MSVCRT__ftell_nolock diff --git a/dlls/msvcr110/msvcr110.spec b/dlls/msvcr110/msvcr110.spec index 38fdfe9faf2..e0ab69a28a8 100644 --- a/dlls/msvcr110/msvcr110.spec +++ b/dlls/msvcr110/msvcr110.spec @@ -1195,7 +1195,7 @@ @ cdecl _fseeki64_nolock(ptr int64 long) MSVCRT__fseeki64_nolock @ cdecl _fsopen(str str long) MSVCRT__fsopen @ cdecl _fstat32(long ptr) MSVCRT__fstat32 -@ stub _fstat32i64 +@ cdecl _fstat32i64(long ptr) MSVCRT__fstat32i64 @ cdecl _fstat64(long ptr) MSVCRT__fstat64 @ cdecl _fstat64i32(long ptr) MSVCRT__fstat64i32 @ cdecl _ftell_nolock(ptr) MSVCRT__ftell_nolock diff --git a/dlls/msvcr120/msvcr120.spec b/dlls/msvcr120/msvcr120.spec index 4ef7358bc71..86f466b8e97 100644 --- a/dlls/msvcr120/msvcr120.spec +++ b/dlls/msvcr120/msvcr120.spec @@ -1195,7 +1195,7 @@ @ cdecl _fseeki64_nolock(ptr int64 long) MSVCRT__fseeki64_nolock @ cdecl _fsopen(str str long) MSVCRT__fsopen @ cdecl _fstat32(long ptr) MSVCRT__fstat32 -@ stub _fstat32i64 +@ cdecl _fstat32i64(long ptr) MSVCRT__fstat32i64 @ cdecl _fstat64(long ptr) MSVCRT__fstat64 @ cdecl _fstat64i32(long ptr) MSVCRT__fstat64i32 @ cdecl _ftell_nolock(ptr) MSVCRT__ftell_nolock diff --git a/dlls/msvcr120_app/msvcr120_app.spec b/dlls/msvcr120_app/msvcr120_app.spec index 893c0997838..e498fc71000 100644 --- a/dlls/msvcr120_app/msvcr120_app.spec +++ b/dlls/msvcr120_app/msvcr120_app.spec @@ -1123,7 +1123,7 @@ @ cdecl _fseeki64_nolock(ptr int64 long) msvcr120._fseeki64_nolock @ cdecl _fsopen(str str long) msvcr120._fsopen @ cdecl _fstat32(long ptr) msvcr120._fstat32 -@ stub _fstat32i64 +@ cdecl _fstat32i64(long ptr) msvcr120._fstat32i64 @ cdecl _fstat64(long ptr) msvcr120._fstat64 @ cdecl _fstat64i32(long ptr) msvcr120._fstat64i32 @ cdecl _ftell_nolock(ptr) msvcr120._ftell_nolock diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec index 1c1dc1a325c..c0edc8f7ad7 100644 --- a/dlls/msvcr80/msvcr80.spec +++ b/dlls/msvcr80/msvcr80.spec @@ -514,7 +514,7 @@ @ cdecl _fseeki64_nolock(ptr int64 long) MSVCRT__fseeki64_nolock @ cdecl _fsopen(str str long) MSVCRT__fsopen @ cdecl _fstat32(long ptr) MSVCRT__fstat32 -@ stub _fstat32i64 +@ cdecl _fstat32i64(long ptr) MSVCRT__fstat32i64 @ cdecl _fstat64(long ptr) MSVCRT__fstat64 @ cdecl _fstat64i32(long ptr) MSVCRT__fstat64i32 @ cdecl _ftell_nolock(ptr) MSVCRT__ftell_nolock diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec index 13d1babd7d8..bf5ab57d04f 100644 --- a/dlls/msvcr90/msvcr90.spec +++ b/dlls/msvcr90/msvcr90.spec @@ -497,7 +497,7 @@ @ cdecl _fseeki64_nolock(ptr int64 long) MSVCRT__fseeki64_nolock @ cdecl _fsopen(str str long) MSVCRT__fsopen @ cdecl _fstat32(long ptr) MSVCRT__fstat32 -@ stub _fstat32i64 +@ cdecl _fstat32i64(long ptr) MSVCRT__fstat32i64 @ cdecl _fstat64(long ptr) MSVCRT__fstat64 @ cdecl _fstat64i32(long ptr) MSVCRT__fstat64i32 @ cdecl _ftell_nolock(ptr) MSVCRT__ftell_nolock diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c index c4f89b156c5..5a2f1e65346 100644 --- a/dlls/msvcrt/file.c +++ b/dlls/msvcrt/file.c @@ -1789,6 +1789,20 @@ int CDECL MSVCRT__fstat32(int fd, struct MSVCRT__stat32* buf) } /********************************************************************* + * _fstat32i64 (MSVCR80.@) + */ +int CDECL MSVCRT__fstat32i64(int fd, struct MSVCRT__stat32i64* buf) +{ + int ret; + struct MSVCRT__stat64 buf64; + + ret = MSVCRT__fstat64(fd, &buf64); + if (!ret) + msvcrt_stat64_to_stat32i64(&buf64, buf); + return ret; +} + +/********************************************************************* * _fstat64i32 (MSVCR80.@) */ int CDECL MSVCRT__fstat64i32(int fd, struct MSVCRT__stat64i32* buf) diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec index ecfb612c5c9..c03a434f7d3 100644 --- a/dlls/ucrtbase/ucrtbase.spec +++ b/dlls/ucrtbase/ucrtbase.spec @@ -340,7 +340,7 @@ @ cdecl _fseeki64_nolock(ptr int64 long) MSVCRT__fseeki64_nolock @ cdecl _fsopen(str str long) MSVCRT__fsopen @ cdecl _fstat32(long ptr) MSVCRT__fstat32 -@ stub _fstat32i64 +@ cdecl _fstat32i64(long ptr) MSVCRT__fstat32i64 @ cdecl _fstat64(long ptr) MSVCRT__fstat64 @ cdecl _fstat64i32(long ptr) MSVCRT__fstat64i32 @ cdecl _ftell_nolock(ptr) MSVCRT__ftell_nolock -- 2.11.4.GIT