msvcrt: Implement _ftelli64.
Eryk Wieliczko
ewdevel at gmail.com
Tue Nov 2 18:07:05 CDT 2010
---
dlls/msvcr100/msvcr100.spec | 2 +-
dlls/msvcr80/msvcr80.spec | 2 +-
dlls/msvcr90/msvcr90.spec | 2 +-
dlls/msvcrt/file.c | 18 +++++++++++++-----
dlls/msvcrt/msvcrt.spec | 1 +
5 files changed, 17 insertions(+), 8 deletions(-)
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 2f23ff0..b79e9b5 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -656,7 +656,7 @@
@ cdecl _fstat64(long ptr) msvcrt._fstat64
@ cdecl _fstat64i32(long ptr) msvcr90._fstat64i32
@ stub _ftell_nolock
-@ stub _ftelli64
+@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
@ cdecl _ftime32(ptr) msvcrt._ftime32
@ stub _ftime32_s
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 5f0198c..ccf4ed9 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -497,7 +497,7 @@
@ cdecl _fstat64(long ptr) msvcrt._fstat64
@ cdecl _fstat64i32(long ptr) msvcr90._fstat64i32
@ stub _ftell_nolock
-@ stub _ftelli64
+@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
@ cdecl _ftime32(ptr) msvcrt._ftime32
@ stub _ftime32_s
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index 7a53b7b..fc341fe 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -489,7 +489,7 @@
@ cdecl _fstat64(long ptr) msvcrt._fstat64
@ cdecl _fstat64i32(long ptr)
@ stub _ftell_nolock
-@ stub _ftelli64
+@ cdecl -ret64 _ftelli64(ptr) msvcrt._ftelli64
@ stub _ftelli64_nolock
@ cdecl _ftime32(ptr) msvcrt._ftime32
@ stub _ftime32_s
diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c
index 8902bdd..2915df8 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -2966,14 +2966,14 @@ int CDECL MSVCRT_fsetpos(MSVCRT_FILE* file, MSVCRT_fpos_t *pos)
}
/*********************************************************************
- * ftell (MSVCRT.@)
+ * _ftelli64 (MSVCRT.@)
*/
-LONG CDECL MSVCRT_ftell(MSVCRT_FILE* file)
+__int64 CDECL MSVCRT__ftelli64(MSVCRT_FILE* file)
{
/* TODO: just call fgetpos and return lower half of result */
int off=0;
- MSVCRT_long pos;
- pos = MSVCRT__tell(file->_file);
+ __int64 pos;
+ pos = _telli64(file->_file);
if(pos == -1) return -1;
if(file->_bufsiz) {
if( file->_flag & MSVCRT__IOWRT ) {
@@ -2987,7 +2987,7 @@ LONG CDECL MSVCRT_ftell(MSVCRT_FILE* file)
if (file->_ptr[i] == '\n')
off--;
}
- /* Black magic when reading CR at buffer boundary*/
+ /* Black magic when reading CR at buffer boundary*/
if(MSVCRT_fdesc[file->_file].wxflag & WX_READCR)
off--;
@@ -2998,6 +2998,14 @@ LONG CDECL MSVCRT_ftell(MSVCRT_FILE* file)
}
/*********************************************************************
+ * ftell (MSVCRT.@)
+ */
+LONG CDECL MSVCRT_ftell(MSVCRT_FILE* file)
+{
+ return MSVCRT__ftelli64(file);
+}
+
+/*********************************************************************
* fgetpos (MSVCRT.@)
*/
int CDECL MSVCRT_fgetpos(MSVCRT_FILE* file, MSVCRT_fpos_t *pos)
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index eb0d8ec..5fff5fb 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -442,6 +442,7 @@
@ cdecl _fstat(long ptr) MSVCRT__fstat
@ cdecl _fstat64(long ptr) MSVCRT__fstat64
@ cdecl _fstati64(long ptr) MSVCRT__fstati64
+@ cdecl -ret64 _ftelli64(ptr) MSVCRT__ftelli64
@ cdecl _ftime(ptr) MSVCRT__ftime
@ cdecl _ftime32(ptr) MSVCRT__ftime32
# stub _ftime32_s
--
1.7.0.4
More information about the wine-patches
mailing list