move _fseeki64 and _ftelli64 functions from libmingwex to libmsvcrt _fseeki64 and _ftelli64 functions are already in libmsvcr90 and newer, so we need to provide these functions only for libmsvcrt. In addition, _ftelli64 function implementation is not compatible with ucrt. Signed-off-by: Mateusz Brzostek <mateuszb@poczta.onet.pl> Signed-off-by: Jacek Caban <jacek@codeweavers.com>
diff --git a/mingw-w64-crt/Makefile.am b/mingw-w64-crt/Makefile.am index 079dc5a..f8b0623 100644 --- a/mingw-w64-crt/Makefile.am +++ b/mingw-w64-crt/Makefile.am
@@ -210,6 +210,7 @@ secapi/vsprintf_s.c \ secapi/wmemcpy_s.c \ secapi/wmemmove_s.c \ + stdio/fseeki64.c \ stdio/mingw_lock.c src_ucrtbase=\
diff --git a/mingw-w64-crt/Makefile.in b/mingw-w64-crt/Makefile.in index 2e942e0..5023e5a 100644 --- a/mingw-w64-crt/Makefile.in +++ b/mingw-w64-crt/Makefile.in
@@ -1341,8 +1341,9 @@ secapi/_wmktemp_s.c secapi/_wstrdate_s.c secapi/asctime_s.c \ secapi/memcpy_s.c secapi/memmove_s.c secapi/rand_s.c \ secapi/sprintf_s.c secapi/strerror_s.c secapi/vsprintf_s.c \ - secapi/wmemcpy_s.c secapi/wmemmove_s.c stdio/mingw_lock.c \ - misc/lc_locale_func.c lib-common/msvcrt.def.in + secapi/wmemcpy_s.c secapi/wmemmove_s.c stdio/fseeki64.c \ + stdio/mingw_lock.c misc/lc_locale_func.c \ + lib-common/msvcrt.def.in am__objects_33 = misc/lib32_libmsvcrt_os_a-onexit_table.$(OBJEXT) \ misc/lib32_libmsvcrt_os_a-register_tls_atexit.$(OBJEXT) \ stdio/lib32_libmsvcrt_os_a-acrt_iob_func.$(OBJEXT) @@ -1395,6 +1396,7 @@ secapi/lib32_libmsvcrt_os_a-vsprintf_s.$(OBJEXT) \ secapi/lib32_libmsvcrt_os_a-wmemcpy_s.$(OBJEXT) \ secapi/lib32_libmsvcrt_os_a-wmemmove_s.$(OBJEXT) \ + stdio/lib32_libmsvcrt_os_a-fseeki64.$(OBJEXT) \ stdio/lib32_libmsvcrt_os_a-mingw_lock.$(OBJEXT) am__objects_35 = $(am__objects_34) \ misc/lib32_libmsvcrt_os_a-lc_locale_func.$(OBJEXT) @@ -2675,9 +2677,9 @@ secapi/_wmktemp_s.c secapi/_wstrdate_s.c secapi/asctime_s.c \ secapi/memcpy_s.c secapi/memmove_s.c secapi/rand_s.c \ secapi/sprintf_s.c secapi/strerror_s.c secapi/vsprintf_s.c \ - secapi/wmemcpy_s.c secapi/wmemmove_s.c stdio/mingw_lock.c \ - misc/__p___argv.c misc/__p__acmdln.c misc/__p__fmode.c \ - misc/__p__wcmdln.c lib-common/msvcrt.def.in + secapi/wmemcpy_s.c secapi/wmemmove_s.c stdio/fseeki64.c \ + stdio/mingw_lock.c misc/__p___argv.c misc/__p__acmdln.c \ + misc/__p__fmode.c misc/__p__wcmdln.c lib-common/msvcrt.def.in am__objects_84 = misc/lib64_libmsvcrt_os_a-onexit_table.$(OBJEXT) \ misc/lib64_libmsvcrt_os_a-register_tls_atexit.$(OBJEXT) \ stdio/lib64_libmsvcrt_os_a-acrt_iob_func.$(OBJEXT) @@ -2730,6 +2732,7 @@ secapi/lib64_libmsvcrt_os_a-vsprintf_s.$(OBJEXT) \ secapi/lib64_libmsvcrt_os_a-wmemcpy_s.$(OBJEXT) \ secapi/lib64_libmsvcrt_os_a-wmemmove_s.$(OBJEXT) \ + stdio/lib64_libmsvcrt_os_a-fseeki64.$(OBJEXT) \ stdio/lib64_libmsvcrt_os_a-mingw_lock.$(OBJEXT) am__objects_86 = $(am__objects_85) \ misc/lib64_libmsvcrt_os_a-__p___argv.$(OBJEXT) \ @@ -3875,9 +3878,9 @@ secapi/_wmktemp_s.c secapi/_wstrdate_s.c secapi/asctime_s.c \ secapi/memcpy_s.c secapi/memmove_s.c secapi/rand_s.c \ secapi/sprintf_s.c secapi/strerror_s.c secapi/vsprintf_s.c \ - secapi/wmemcpy_s.c secapi/wmemmove_s.c stdio/mingw_lock.c \ - misc/__p___argv.c misc/__p__acmdln.c misc/__p__fmode.c \ - misc/__p__wcmdln.c lib-common/msvcrt.def.in + secapi/wmemcpy_s.c secapi/wmemmove_s.c stdio/fseeki64.c \ + stdio/mingw_lock.c misc/__p___argv.c misc/__p__acmdln.c \ + misc/__p__fmode.c misc/__p__wcmdln.c lib-common/msvcrt.def.in am__objects_124 = misc/libarm32_libmsvcrt_os_a-onexit_table.$(OBJEXT) \ misc/libarm32_libmsvcrt_os_a-register_tls_atexit.$(OBJEXT) \ stdio/libarm32_libmsvcrt_os_a-acrt_iob_func.$(OBJEXT) @@ -3930,6 +3933,7 @@ secapi/libarm32_libmsvcrt_os_a-vsprintf_s.$(OBJEXT) \ secapi/libarm32_libmsvcrt_os_a-wmemcpy_s.$(OBJEXT) \ secapi/libarm32_libmsvcrt_os_a-wmemmove_s.$(OBJEXT) \ + stdio/libarm32_libmsvcrt_os_a-fseeki64.$(OBJEXT) \ stdio/libarm32_libmsvcrt_os_a-mingw_lock.$(OBJEXT) am__objects_126 = $(am__objects_125) \ misc/libarm32_libmsvcrt_os_a-__p___argv.$(OBJEXT) \ @@ -4966,9 +4970,9 @@ secapi/_wmktemp_s.c secapi/_wstrdate_s.c secapi/asctime_s.c \ secapi/memcpy_s.c secapi/memmove_s.c secapi/rand_s.c \ secapi/sprintf_s.c secapi/strerror_s.c secapi/vsprintf_s.c \ - secapi/wmemcpy_s.c secapi/wmemmove_s.c stdio/mingw_lock.c \ - misc/__p___argv.c misc/__p__acmdln.c misc/__p__fmode.c \ - misc/__p__wcmdln.c lib-common/msvcrt.def.in + secapi/wmemcpy_s.c secapi/wmemmove_s.c stdio/fseeki64.c \ + stdio/mingw_lock.c misc/__p___argv.c misc/__p__acmdln.c \ + misc/__p__fmode.c misc/__p__wcmdln.c lib-common/msvcrt.def.in am__objects_160 = misc/libarm64_libmsvcrt_os_a-onexit_table.$(OBJEXT) \ misc/libarm64_libmsvcrt_os_a-register_tls_atexit.$(OBJEXT) \ stdio/libarm64_libmsvcrt_os_a-acrt_iob_func.$(OBJEXT) @@ -5021,6 +5025,7 @@ secapi/libarm64_libmsvcrt_os_a-vsprintf_s.$(OBJEXT) \ secapi/libarm64_libmsvcrt_os_a-wmemcpy_s.$(OBJEXT) \ secapi/libarm64_libmsvcrt_os_a-wmemmove_s.$(OBJEXT) \ + stdio/libarm64_libmsvcrt_os_a-fseeki64.$(OBJEXT) \ stdio/libarm64_libmsvcrt_os_a-mingw_lock.$(OBJEXT) am__objects_162 = $(am__objects_161) \ misc/libarm64_libmsvcrt_os_a-__p___argv.$(OBJEXT) \ @@ -6949,6 +6954,7 @@ secapi/vsprintf_s.c \ secapi/wmemcpy_s.c \ secapi/wmemmove_s.c \ + stdio/fseeki64.c \ stdio/mingw_lock.c src_ucrtbase = \ @@ -11107,6 +11113,8 @@ secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp) secapi/lib32_libmsvcrt_os_a-wmemmove_s.$(OBJEXT): \ secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp) +stdio/lib32_libmsvcrt_os_a-fseeki64.$(OBJEXT): stdio/$(am__dirstamp) \ + stdio/$(DEPDIR)/$(am__dirstamp) stdio/lib32_libmsvcrt_os_a-mingw_lock.$(OBJEXT): \ stdio/$(am__dirstamp) stdio/$(DEPDIR)/$(am__dirstamp) misc/lib32_libmsvcrt_os_a-lc_locale_func.$(OBJEXT): \ @@ -12962,6 +12970,8 @@ secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp) secapi/lib64_libmsvcrt_os_a-wmemmove_s.$(OBJEXT): \ secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp) +stdio/lib64_libmsvcrt_os_a-fseeki64.$(OBJEXT): stdio/$(am__dirstamp) \ + stdio/$(DEPDIR)/$(am__dirstamp) stdio/lib64_libmsvcrt_os_a-mingw_lock.$(OBJEXT): \ stdio/$(am__dirstamp) stdio/$(DEPDIR)/$(am__dirstamp) misc/lib64_libmsvcrt_os_a-__p___argv.$(OBJEXT): misc/$(am__dirstamp) \ @@ -14708,6 +14718,8 @@ secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp) secapi/libarm32_libmsvcrt_os_a-wmemmove_s.$(OBJEXT): \ secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp) +stdio/libarm32_libmsvcrt_os_a-fseeki64.$(OBJEXT): \ + stdio/$(am__dirstamp) stdio/$(DEPDIR)/$(am__dirstamp) stdio/libarm32_libmsvcrt_os_a-mingw_lock.$(OBJEXT): \ stdio/$(am__dirstamp) stdio/$(DEPDIR)/$(am__dirstamp) misc/libarm32_libmsvcrt_os_a-__p___argv.$(OBJEXT): \ @@ -16235,6 +16247,8 @@ secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp) secapi/libarm64_libmsvcrt_os_a-wmemmove_s.$(OBJEXT): \ secapi/$(am__dirstamp) secapi/$(DEPDIR)/$(am__dirstamp) +stdio/libarm64_libmsvcrt_os_a-fseeki64.$(OBJEXT): \ + stdio/$(am__dirstamp) stdio/$(DEPDIR)/$(am__dirstamp) stdio/libarm64_libmsvcrt_os_a-mingw_lock.$(OBJEXT): \ stdio/$(am__dirstamp) stdio/$(DEPDIR)/$(am__dirstamp) misc/libarm64_libmsvcrt_os_a-__p___argv.$(OBJEXT): \ @@ -20089,6 +20103,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmsvcr90_a-acrt_iob_func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmsvcr90d_a-acrt_iob_func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-acrt_iob_func.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-fseeki64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-mingw_lock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libucrt_extra_a-ucrt__snwprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib32_libucrt_extra_a-ucrt__vsnprintf.Po@am__quote@ @@ -20205,6 +20220,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmsvcr90_a-acrt_iob_func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmsvcr90d_a-acrt_iob_func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-acrt_iob_func.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-fseeki64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-mingw_lock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libucrt_extra_a-ucrt__snwprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/lib64_libucrt_extra_a-ucrt__vsnprintf.Po@am__quote@ @@ -20313,6 +20329,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm32_libmingwex_a-wtoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm32_libmsvcr110_a-acrt_iob_func.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-acrt_iob_func.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-fseeki64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-mingw_lock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm32_libucrt_extra_a-ucrt__snwprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm32_libucrt_extra_a-ucrt__vsnprintf.Po@am__quote@ @@ -20420,6 +20437,7 @@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm64_libmingwex_a-vwscanf2.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm64_libmingwex_a-wtoll.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-acrt_iob_func.Po@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-fseeki64.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-mingw_lock.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm64_libucrt_extra_a-ucrt__snwprintf.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@stdio/$(DEPDIR)/libarm64_libucrt_extra_a-ucrt__vsnprintf.Po@am__quote@ @@ -30927,6 +30945,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib32_libmsvcrt_os_a-wmemmove_s.obj `if test -f 'secapi/wmemmove_s.c'; then $(CYGPATH_W) 'secapi/wmemmove_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/wmemmove_s.c'; fi` +stdio/lib32_libmsvcrt_os_a-fseeki64.o: stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib32_libmsvcrt_os_a-fseeki64.o -MD -MP -MF stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-fseeki64.Tpo -c -o stdio/lib32_libmsvcrt_os_a-fseeki64.o `test -f 'stdio/fseeki64.c' || echo '$(srcdir)/'`stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-fseeki64.Tpo stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-fseeki64.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdio/fseeki64.c' object='stdio/lib32_libmsvcrt_os_a-fseeki64.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib32_libmsvcrt_os_a-fseeki64.o `test -f 'stdio/fseeki64.c' || echo '$(srcdir)/'`stdio/fseeki64.c + +stdio/lib32_libmsvcrt_os_a-fseeki64.obj: stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib32_libmsvcrt_os_a-fseeki64.obj -MD -MP -MF stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-fseeki64.Tpo -c -o stdio/lib32_libmsvcrt_os_a-fseeki64.obj `if test -f 'stdio/fseeki64.c'; then $(CYGPATH_W) 'stdio/fseeki64.c'; else $(CYGPATH_W) '$(srcdir)/stdio/fseeki64.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-fseeki64.Tpo stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-fseeki64.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdio/fseeki64.c' object='stdio/lib32_libmsvcrt_os_a-fseeki64.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib32_libmsvcrt_os_a-fseeki64.obj `if test -f 'stdio/fseeki64.c'; then $(CYGPATH_W) 'stdio/fseeki64.c'; else $(CYGPATH_W) '$(srcdir)/stdio/fseeki64.c'; fi` + stdio/lib32_libmsvcrt_os_a-mingw_lock.o: stdio/mingw_lock.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib32_libmsvcrt_os_a-mingw_lock.o -MD -MP -MF stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-mingw_lock.Tpo -c -o stdio/lib32_libmsvcrt_os_a-mingw_lock.o `test -f 'stdio/mingw_lock.c' || echo '$(srcdir)/'`stdio/mingw_lock.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-mingw_lock.Tpo stdio/$(DEPDIR)/lib32_libmsvcrt_os_a-mingw_lock.Po @@ -41231,6 +41263,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/lib64_libmsvcrt_os_a-wmemmove_s.obj `if test -f 'secapi/wmemmove_s.c'; then $(CYGPATH_W) 'secapi/wmemmove_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/wmemmove_s.c'; fi` +stdio/lib64_libmsvcrt_os_a-fseeki64.o: stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib64_libmsvcrt_os_a-fseeki64.o -MD -MP -MF stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-fseeki64.Tpo -c -o stdio/lib64_libmsvcrt_os_a-fseeki64.o `test -f 'stdio/fseeki64.c' || echo '$(srcdir)/'`stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-fseeki64.Tpo stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-fseeki64.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdio/fseeki64.c' object='stdio/lib64_libmsvcrt_os_a-fseeki64.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib64_libmsvcrt_os_a-fseeki64.o `test -f 'stdio/fseeki64.c' || echo '$(srcdir)/'`stdio/fseeki64.c + +stdio/lib64_libmsvcrt_os_a-fseeki64.obj: stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib64_libmsvcrt_os_a-fseeki64.obj -MD -MP -MF stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-fseeki64.Tpo -c -o stdio/lib64_libmsvcrt_os_a-fseeki64.obj `if test -f 'stdio/fseeki64.c'; then $(CYGPATH_W) 'stdio/fseeki64.c'; else $(CYGPATH_W) '$(srcdir)/stdio/fseeki64.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-fseeki64.Tpo stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-fseeki64.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdio/fseeki64.c' object='stdio/lib64_libmsvcrt_os_a-fseeki64.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/lib64_libmsvcrt_os_a-fseeki64.obj `if test -f 'stdio/fseeki64.c'; then $(CYGPATH_W) 'stdio/fseeki64.c'; else $(CYGPATH_W) '$(srcdir)/stdio/fseeki64.c'; fi` + stdio/lib64_libmsvcrt_os_a-mingw_lock.o: stdio/mingw_lock.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(lib64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/lib64_libmsvcrt_os_a-mingw_lock.o -MD -MP -MF stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-mingw_lock.Tpo -c -o stdio/lib64_libmsvcrt_os_a-mingw_lock.o `test -f 'stdio/mingw_lock.c' || echo '$(srcdir)/'`stdio/mingw_lock.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-mingw_lock.Tpo stdio/$(DEPDIR)/lib64_libmsvcrt_os_a-mingw_lock.Po @@ -51059,6 +51105,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/libarm32_libmsvcrt_os_a-wmemmove_s.obj `if test -f 'secapi/wmemmove_s.c'; then $(CYGPATH_W) 'secapi/wmemmove_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/wmemmove_s.c'; fi` +stdio/libarm32_libmsvcrt_os_a-fseeki64.o: stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/libarm32_libmsvcrt_os_a-fseeki64.o -MD -MP -MF stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-fseeki64.Tpo -c -o stdio/libarm32_libmsvcrt_os_a-fseeki64.o `test -f 'stdio/fseeki64.c' || echo '$(srcdir)/'`stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-fseeki64.Tpo stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-fseeki64.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdio/fseeki64.c' object='stdio/libarm32_libmsvcrt_os_a-fseeki64.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/libarm32_libmsvcrt_os_a-fseeki64.o `test -f 'stdio/fseeki64.c' || echo '$(srcdir)/'`stdio/fseeki64.c + +stdio/libarm32_libmsvcrt_os_a-fseeki64.obj: stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/libarm32_libmsvcrt_os_a-fseeki64.obj -MD -MP -MF stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-fseeki64.Tpo -c -o stdio/libarm32_libmsvcrt_os_a-fseeki64.obj `if test -f 'stdio/fseeki64.c'; then $(CYGPATH_W) 'stdio/fseeki64.c'; else $(CYGPATH_W) '$(srcdir)/stdio/fseeki64.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-fseeki64.Tpo stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-fseeki64.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdio/fseeki64.c' object='stdio/libarm32_libmsvcrt_os_a-fseeki64.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/libarm32_libmsvcrt_os_a-fseeki64.obj `if test -f 'stdio/fseeki64.c'; then $(CYGPATH_W) 'stdio/fseeki64.c'; else $(CYGPATH_W) '$(srcdir)/stdio/fseeki64.c'; fi` + stdio/libarm32_libmsvcrt_os_a-mingw_lock.o: stdio/mingw_lock.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm32_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/libarm32_libmsvcrt_os_a-mingw_lock.o -MD -MP -MF stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-mingw_lock.Tpo -c -o stdio/libarm32_libmsvcrt_os_a-mingw_lock.o `test -f 'stdio/mingw_lock.c' || echo '$(srcdir)/'`stdio/mingw_lock.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-mingw_lock.Tpo stdio/$(DEPDIR)/libarm32_libmsvcrt_os_a-mingw_lock.Po @@ -59809,6 +59869,20 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o secapi/libarm64_libmsvcrt_os_a-wmemmove_s.obj `if test -f 'secapi/wmemmove_s.c'; then $(CYGPATH_W) 'secapi/wmemmove_s.c'; else $(CYGPATH_W) '$(srcdir)/secapi/wmemmove_s.c'; fi` +stdio/libarm64_libmsvcrt_os_a-fseeki64.o: stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/libarm64_libmsvcrt_os_a-fseeki64.o -MD -MP -MF stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-fseeki64.Tpo -c -o stdio/libarm64_libmsvcrt_os_a-fseeki64.o `test -f 'stdio/fseeki64.c' || echo '$(srcdir)/'`stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-fseeki64.Tpo stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-fseeki64.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdio/fseeki64.c' object='stdio/libarm64_libmsvcrt_os_a-fseeki64.o' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/libarm64_libmsvcrt_os_a-fseeki64.o `test -f 'stdio/fseeki64.c' || echo '$(srcdir)/'`stdio/fseeki64.c + +stdio/libarm64_libmsvcrt_os_a-fseeki64.obj: stdio/fseeki64.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/libarm64_libmsvcrt_os_a-fseeki64.obj -MD -MP -MF stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-fseeki64.Tpo -c -o stdio/libarm64_libmsvcrt_os_a-fseeki64.obj `if test -f 'stdio/fseeki64.c'; then $(CYGPATH_W) 'stdio/fseeki64.c'; else $(CYGPATH_W) '$(srcdir)/stdio/fseeki64.c'; fi` +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-fseeki64.Tpo stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-fseeki64.Po +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='stdio/fseeki64.c' object='stdio/libarm64_libmsvcrt_os_a-fseeki64.obj' libtool=no @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -c -o stdio/libarm64_libmsvcrt_os_a-fseeki64.obj `if test -f 'stdio/fseeki64.c'; then $(CYGPATH_W) 'stdio/fseeki64.c'; else $(CYGPATH_W) '$(srcdir)/stdio/fseeki64.c'; fi` + stdio/libarm64_libmsvcrt_os_a-mingw_lock.o: stdio/mingw_lock.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(libarm64_libmsvcrt_os_a_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) -MT stdio/libarm64_libmsvcrt_os_a-mingw_lock.o -MD -MP -MF stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-mingw_lock.Tpo -c -o stdio/libarm64_libmsvcrt_os_a-mingw_lock.o `test -f 'stdio/mingw_lock.c' || echo '$(srcdir)/'`stdio/mingw_lock.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-mingw_lock.Tpo stdio/$(DEPDIR)/libarm64_libmsvcrt_os_a-mingw_lock.Po
diff --git a/mingw-w64-crt/lib32/msvcr100.def.in b/mingw-w64-crt/lib32/msvcr100.def.in index d103a2b..99a39c9 100644 --- a/mingw-w64-crt/lib32/msvcr100.def.in +++ b/mingw-w64-crt/lib32/msvcr100.def.in
@@ -880,7 +880,7 @@ _fscanf_l _fscanf_s_l _fseek_nolock -_fseeki64 DATA +_fseeki64 _fseeki64_nolock _fsopen _fstat32 @@ -890,7 +890,7 @@ _fstat64 _fstat64i32 _ftell_nolock -_ftelli64 DATA +_ftelli64 _ftelli64_nolock _ftime32 _ftime32_s
diff --git a/mingw-w64-crt/lib32/msvcr90.def.in b/mingw-w64-crt/lib32/msvcr90.def.in index 861ce56..a055ce3 100644 --- a/mingw-w64-crt/lib32/msvcr90.def.in +++ b/mingw-w64-crt/lib32/msvcr90.def.in
@@ -507,7 +507,7 @@ _fscanf_l _fscanf_s_l _fseek_nolock -_fseeki64 DATA +_fseeki64 _fseeki64_nolock _fsopen _fstat32 @@ -517,7 +517,7 @@ _fstat64 _fstat64i32 _ftell_nolock -_ftelli64 DATA +_ftelli64 _ftelli64_nolock _ftime32 _ftime32_s
diff --git a/mingw-w64-crt/lib64/msvcr100.def.in b/mingw-w64-crt/lib64/msvcr100.def.in index b3be302..b9929a6 100644 --- a/mingw-w64-crt/lib64/msvcr100.def.in +++ b/mingw-w64-crt/lib64/msvcr100.def.in
@@ -837,7 +837,7 @@ _fscanf_l _fscanf_s_l _fseek_nolock -_fseeki64 DATA +_fseeki64 _fseeki64_nolock _fsopen _fstat32 @@ -847,7 +847,7 @@ _fstat64 _fstat64i32 _ftell_nolock -_ftelli64 DATA +_ftelli64 _ftelli64_nolock _ftime32 _ftime32_s
diff --git a/mingw-w64-crt/lib64/msvcr90.def.in b/mingw-w64-crt/lib64/msvcr90.def.in index f18166a..70a14f2 100644 --- a/mingw-w64-crt/lib64/msvcr90.def.in +++ b/mingw-w64-crt/lib64/msvcr90.def.in
@@ -454,7 +454,7 @@ _fscanf_l _fscanf_s_l _fseek_nolock -_fseeki64 DATA +_fseeki64 _fseeki64_nolock _fsopen _fstat32 @@ -464,7 +464,7 @@ _fstat64 _fstat64i32 _ftell_nolock -_ftelli64 DATA +_ftelli64 _ftelli64_nolock _ftime32 _ftime32_s
diff --git a/mingw-w64-crt/stdio/fseeki64.c b/mingw-w64-crt/stdio/fseeki64.c new file mode 100644 index 0000000..fdb8f1c --- /dev/null +++ b/mingw-w64-crt/stdio/fseeki64.c
@@ -0,0 +1,177 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ +#include <stdio.h> +#include <io.h> +#include <errno.h> +#include <internal.h> + +#define _IOYOURBUF 0x0100 +#define _IOSETVBUF 0x0400 +#define _IOFEOF 0x0800 +#define _IOFLRTN 0x1000 +#define _IOCTRLZ 0x2000 +#define _IOCOMMIT 0x4000 + +/* General use macros */ + +#define inuse(s) ((s)->_flag & (_IOREAD|_IOWRT|_IORW)) +#define mbuf(s) ((s)->_flag & _IOMYBUF) +#define nbuf(s) ((s)->_flag & _IONBF) +#define ybuf(s) ((s)->_flag & _IOYOURBUF) +#define bigbuf(s) ((s)->_flag & (_IOMYBUF|_IOYOURBUF)) +#define anybuf(s) ((s)->_flag & (_IOMYBUF|_IONBF|_IOYOURBUF)) + +#define _INTERNAL_BUFSIZ 4096 +#define _SMALL_BUFSIZ 512 + +#define FOPEN 0x01 /* file handle open */ +#define FEOFLAG 0x02 /* end of file has been encountered */ +#define FCRLF 0x04 /* CR-LF across read buffer (in text mode) */ +#define FPIPE 0x08 /* file handle refers to a pipe */ +#define FNOINHERIT 0x10 /* file handle opened _O_NOINHERIT */ +#define FAPPEND 0x20 /* file handle opened O_APPEND */ +#define FDEV 0x40 /* file handle refers to device */ +#define FTEXT 0x80 /* file handle is in text mode */ + +_CRTIMP __int64 __cdecl _lseeki64(int fh,__int64 pos,int mthd); +__int64 __cdecl _ftelli64(FILE *str); + +#if !defined(__arm__) && !defined(__aarch64__) /* we have F_ARM_ANY(_fseeki64) in msvcrt.def.in */ +int __cdecl _flush (FILE *str); + +int __cdecl _flush (FILE *str) +{ + FILE *stream; + int rc = 0; /* assume good return */ + __int64 nchar; + + stream = str; + if ((stream->_flag & (_IOREAD | _IOWRT)) == _IOWRT && bigbuf(stream) + && (nchar = (__int64) (stream->_ptr - stream->_base)) > 0ll) + { + if ( _write(_fileno(stream), stream->_base, nchar) == nchar) { + if (_IORW & stream->_flag) + stream->_flag &= ~_IOWRT; + } else { + stream->_flag |= _IOERR; + rc = EOF; + } + } + stream->_ptr = stream->_base; + stream->_cnt = 0ll; + return rc; +} + +int __cdecl _fseeki64(FILE *str,__int64 offset,int whence) +{ + FILE *stream; + /* Init stream pointer */ + stream = str; + errno=0; + if(!stream || ((whence != SEEK_SET) && (whence != SEEK_CUR) && (whence != SEEK_END))) + { + errno=EINVAL; + return -1; + } + /* Clear EOF flag */ + stream->_flag &= ~_IOEOF; + + if (whence == SEEK_CUR) { + offset += _ftelli64(stream); + whence = SEEK_SET; + } + /* Flush buffer as necessary */ + _flush(stream); + + /* If file opened for read/write, clear flags since we don't know + what the user is going to do next. If the file was opened for + read access only, decrease _bufsiz so that the next _filbuf + won't cost quite so much */ + + if (stream->_flag & _IORW) + stream->_flag &= ~(_IOWRT|_IOREAD); + else if ( (stream->_flag & _IOREAD) && (stream->_flag & _IOMYBUF) && + !(stream->_flag & _IOSETVBUF) ) + stream->_bufsiz = _SMALL_BUFSIZ; + + /* Seek to the desired locale and return. */ + + return (_lseeki64(_fileno(stream), offset, whence) == -1ll ? -1 : 0); +} + +int __cdecl (*__MINGW_IMP_SYMBOL(_fseeki64))(FILE *, __int64, int) = _fseeki64; +#endif /* !defined(__arm__) && !defined(__aarch64__) */ + +__int64 __cdecl _ftelli64(FILE *str) +{ + FILE *stream; + size_t offset; + __int64 filepos; + register char *p; + char *max; + int fd; + size_t rdcnt = 0; + + errno=0; + stream = str; + fd = _fileno(stream); + if (stream->_cnt < 0ll) stream->_cnt = 0ll; + if ((filepos = _lseeki64(fd, 0ll, SEEK_CUR)) < 0L) + return -1ll; + + if (!bigbuf(stream)) /* _IONBF or no buffering designated */ + return (filepos - (__int64) stream->_cnt); + + offset = (size_t)(stream->_ptr - stream->_base); + + if (stream->_flag & (_IOWRT|_IOREAD)) + { + if (_osfile(fd) & FTEXT) + for (p = stream->_base; p < stream->_ptr; p++) + if (*p == '\n') /* adjust for '\r' */ + offset++; + } + else if (!(stream->_flag & _IORW)) { + errno=EINVAL; + return -1ll; + } + if (filepos == 0ll) + return ((__int64)offset); + + if (stream->_flag & _IOREAD) /* go to preceding sector */ + { + if (stream->_cnt == 0ll) /* filepos holds correct location */ + offset = 0ll; + else + { + rdcnt = ((size_t) stream->_cnt) + ((size_t) (size_t)(stream->_ptr - stream->_base)); + if (_osfile(fd) & FTEXT) { + if (_lseeki64(fd, 0ll, SEEK_END) == filepos) { + max = stream->_base + rdcnt; + for (p = stream->_base; p < max; p++) + if (*p == '\n') /* adjust for '\r' */ + rdcnt++; + if (stream->_flag & _IOCTRLZ) + ++rdcnt; + } else { + _lseeki64(fd, filepos, SEEK_SET); + if ( (rdcnt <= _SMALL_BUFSIZ) && (stream->_flag & _IOMYBUF) && + !(stream->_flag & _IOSETVBUF)) + rdcnt = _SMALL_BUFSIZ; + else + rdcnt = stream->_bufsiz; + if (_osfile(fd) & FCRLF) + ++rdcnt; + } + } /* end if FTEXT */ + } + filepos -= (__int64)rdcnt; + } /* end else stream->_cnt != 0 */ + return (filepos + (__int64)offset); +} + +__int64 __cdecl (*__MINGW_IMP_SYMBOL(_ftelli64))(FILE *) = _ftelli64; +
diff --git a/mingw-w64-crt/stdio/fseeko64.c b/mingw-w64-crt/stdio/fseeko64.c index 5905aa2..99a54f7 100644 --- a/mingw-w64-crt/stdio/fseeko64.c +++ b/mingw-w64-crt/stdio/fseeko64.c
@@ -76,33 +76,7 @@ { ERROR_NOT_ENOUGH_QUOTA, ENOMEM }, { 0, -1 } }; -_CRTIMP __int64 __cdecl _lseeki64(int fh,__int64 pos,int mthd); -__int64 __cdecl _ftelli64(FILE *str); void mingw_dosmaperr (unsigned long oserrno); -int __cdecl _flush (FILE *str); - -int __cdecl _flush (FILE *str) -{ - FILE *stream; - int rc = 0; /* assume good return */ - __int64 nchar; - - stream = str; - if ((stream->_flag & (_IOREAD | _IOWRT)) == _IOWRT && bigbuf(stream) - && (nchar = (__int64) (stream->_ptr - stream->_base)) > 0ll) - { - if ( _write(_fileno(stream), stream->_base, nchar) == nchar) { - if (_IORW & stream->_flag) - stream->_flag &= ~_IOWRT; - } else { - stream->_flag |= _IOERR; - rc = EOF; - } - } - stream->_ptr = stream->_base; - stream->_cnt = 0ll; - return rc; -} int fseeko64 (FILE* stream, _off64_t offset, int whence) { @@ -130,111 +104,6 @@ return fsetpos (stream, &pos); } -int __cdecl _fseeki64(FILE *str,__int64 offset,int whence) -{ - FILE *stream; - /* Init stream pointer */ - stream = str; - errno=0; - if(!stream || ((whence != SEEK_SET) && (whence != SEEK_CUR) && (whence != SEEK_END))) - { - errno=EINVAL; - return -1; - } - /* Clear EOF flag */ - stream->_flag &= ~_IOEOF; - - if (whence == SEEK_CUR) { - offset += _ftelli64(stream); - whence = SEEK_SET; - } - /* Flush buffer as necessary */ - _flush(stream); - - /* If file opened for read/write, clear flags since we don't know - what the user is going to do next. If the file was opened for - read access only, decrease _bufsiz so that the next _filbuf - won't cost quite so much */ - - if (stream->_flag & _IORW) - stream->_flag &= ~(_IOWRT|_IOREAD); - else if ( (stream->_flag & _IOREAD) && (stream->_flag & _IOMYBUF) && - !(stream->_flag & _IOSETVBUF) ) - stream->_bufsiz = _SMALL_BUFSIZ; - - /* Seek to the desired locale and return. */ - - return (_lseeki64(_fileno(stream), offset, whence) == -1ll ? -1 : 0); -} - -__int64 __cdecl _ftelli64(FILE *str) -{ - FILE *stream; - size_t offset; - __int64 filepos; - register char *p; - char *max; - int fd; - size_t rdcnt = 0; - - errno=0; - stream = str; - fd = _fileno(stream); - if (stream->_cnt < 0ll) stream->_cnt = 0ll; - if ((filepos = _lseeki64(fd, 0ll, SEEK_CUR)) < 0L) - return -1ll; - - if (!bigbuf(stream)) /* _IONBF or no buffering designated */ - return (filepos - (__int64) stream->_cnt); - - offset = (size_t)(stream->_ptr - stream->_base); - - if (stream->_flag & (_IOWRT|_IOREAD)) - { - if (_osfile(fd) & FTEXT) - for (p = stream->_base; p < stream->_ptr; p++) - if (*p == '\n') /* adjust for '\r' */ - offset++; - } - else if (!(stream->_flag & _IORW)) { - errno=EINVAL; - return -1ll; - } - if (filepos == 0ll) - return ((__int64)offset); - - if (stream->_flag & _IOREAD) /* go to preceding sector */ - { - if (stream->_cnt == 0ll) /* filepos holds correct location */ - offset = 0ll; - else - { - rdcnt = ((size_t) stream->_cnt) + ((size_t) (size_t)(stream->_ptr - stream->_base)); - if (_osfile(fd) & FTEXT) { - if (_lseeki64(fd, 0ll, SEEK_END) == filepos) { - max = stream->_base + rdcnt; - for (p = stream->_base; p < max; p++) - if (*p == '\n') /* adjust for '\r' */ - rdcnt++; - if (stream->_flag & _IOCTRLZ) - ++rdcnt; - } else { - _lseeki64(fd, filepos, SEEK_SET); - if ( (rdcnt <= _SMALL_BUFSIZ) && (stream->_flag & _IOMYBUF) && - !(stream->_flag & _IOSETVBUF)) - rdcnt = _SMALL_BUFSIZ; - else - rdcnt = stream->_bufsiz; - if (_osfile(fd) & FCRLF) - ++rdcnt; - } - } /* end if FTEXT */ - } - filepos -= (__int64)rdcnt; - } /* end else stream->_cnt != 0 */ - return (filepos + (__int64)offset); -} - void mingw_dosmaperr (unsigned long oserrno) { size_t i;
diff --git a/mingw-w64-headers/crt/stdio.h b/mingw-w64-headers/crt/stdio.h index c79d705..9c3d188 100644 --- a/mingw-w64-headers/crt/stdio.h +++ b/mingw-w64-headers/crt/stdio.h
@@ -609,10 +609,9 @@ /* Shouldn't be any fseeko32 in glibc, 32bit to 64bit casting should be fine */ /* int fseeko32(FILE* stream, _off_t offset, int whence);*/ /* fseeko32 redirects to fseeko64 */ -#if __MSVCRT_VERSION__ >= 0x1400 - // Mark these as _CRTIMP to avoid trying to link in the mingwex versions. _CRTIMP int __cdecl _fseeki64(FILE *_File,__int64 _Offset,int _Origin); _CRTIMP __int64 __cdecl _ftelli64(FILE *_File); +#if __MSVCRT_VERSION__ >= 0x1400 __mingw_static_ovr int fseeko(FILE *_File, _off_t _Offset, int _Origin) { return fseek(_File, _Offset, _Origin); } @@ -626,8 +625,6 @@ return _ftelli64(_File); } #else - __MINGW_EXTENSION int __cdecl _fseeki64(FILE *_File,__int64 _Offset,int _Origin); - __MINGW_EXTENSION __int64 __cdecl _ftelli64(FILE *_File); int fseeko64(FILE* stream, _off64_t offset, int whence); int fseeko(FILE* stream, _off_t offset, int whence); /* Returns truncated 64bit off_t */