msvcrt: Implement _fseeki64.
diff --git a/dlls/msvcr100/msvcr100.spec b/dlls/msvcr100/msvcr100.spec
index 6ea6f04..1e40d01 100644
--- a/dlls/msvcr100/msvcr100.spec
+++ b/dlls/msvcr100/msvcr100.spec
@@ -648,7 +648,7 @@
@ varargs _fscanf_l(ptr str ptr) msvcrt._fscanf_l
@ varargs _fscanf_s_l(ptr str ptr) msvcrt._fscanf_s_l
@ stub _fseek_nolock
-@ stub _fseeki64
+@ cdecl _fseeki64(ptr int64 long) msvcrt._fseeki64
@ stub _fseeki64_nolock
@ cdecl _fsopen(str str long) msvcrt._fsopen
@ stub _fstat32
diff --git a/dlls/msvcr80/msvcr80.spec b/dlls/msvcr80/msvcr80.spec
index 2c4bf9d..86235aa 100644
--- a/dlls/msvcr80/msvcr80.spec
+++ b/dlls/msvcr80/msvcr80.spec
@@ -489,7 +489,7 @@
@ varargs _fscanf_l(ptr str ptr) msvcrt._fscanf_l
@ varargs _fscanf_s_l(ptr str ptr) msvcrt._fscanf_s_l
@ stub _fseek_nolock
-@ stub _fseeki64
+@ cdecl _fseeki64(ptr int64 long) msvcrt._fseeki64
@ stub _fseeki64_nolock
@ cdecl _fsopen(str str long) msvcrt._fsopen
@ stub _fstat32
diff --git a/dlls/msvcr90/msvcr90.spec b/dlls/msvcr90/msvcr90.spec
index b6e1e33..39bd039 100644
--- a/dlls/msvcr90/msvcr90.spec
+++ b/dlls/msvcr90/msvcr90.spec
@@ -481,7 +481,7 @@
@ varargs _fscanf_l(ptr str ptr) msvcrt._fscanf_l
@ varargs _fscanf_s_l(ptr str ptr) msvcrt._fscanf_s_l
@ stub _fseek_nolock
-@ stub _fseeki64
+@ cdecl _fseeki64(ptr int64 long) msvcrt._fseeki64
@ stub _fseeki64_nolock
@ cdecl _fsopen(str str long) msvcrt._fsopen
@ stub _fstat32
diff --git a/dlls/msvcrt/file.c b/dlls/msvcrt/file.c
index c3dbafa..8902bdd 100644
--- a/dlls/msvcrt/file.c
+++ b/dlls/msvcrt/file.c
@@ -942,9 +942,9 @@
}
/*********************************************************************
- * fseek (MSVCRT.@)
+ * _fseeki64 (MSVCRT.@)
*/
-int CDECL MSVCRT_fseek(MSVCRT_FILE* file, MSVCRT_long offset, int whence)
+int CDECL MSVCRT__fseeki64(MSVCRT_FILE* file, __int64 offset, int whence)
{
/* Flush output if needed */
if(file->_flag & MSVCRT__IOWRT)
@@ -973,7 +973,15 @@
}
/* Clear end of file flag */
file->_flag &= ~MSVCRT__IOEOF;
- return (MSVCRT__lseek(file->_file,offset,whence) == -1)?-1:0;
+ return (MSVCRT__lseeki64(file->_file,offset,whence) == -1)?-1:0;
+}
+
+/*********************************************************************
+ * fseek (MSVCRT.@)
+ */
+int CDECL MSVCRT_fseek(MSVCRT_FILE* file, MSVCRT_long offset, int whence)
+{
+ return MSVCRT__fseeki64( file, offset, whence );
}
/*********************************************************************
diff --git a/dlls/msvcrt/msvcrt.spec b/dlls/msvcrt/msvcrt.spec
index b610c69..ffe5506 100644
--- a/dlls/msvcrt/msvcrt.spec
+++ b/dlls/msvcrt/msvcrt.spec
@@ -435,7 +435,7 @@
# stub _fscanf_l
@ varargs _fscanf_l(ptr str ptr) MSVCRT__fscanf_l
@ varargs _fscanf_s_l(ptr str ptr) MSVCRT__fscanf_s_l
-# stub _fseeki64
+@ cdecl _fseeki64(ptr int64 long) MSVCRT__fseeki64
@ cdecl _fsopen(str str long) MSVCRT__fsopen
@ cdecl _fstat(long ptr) MSVCRT__fstat
@ cdecl _fstat64(long ptr) MSVCRT__fstat64