mirror of
https://github.com/curl/curl.git
synced 2026-05-30 06:57:28 +03:00
build: make CURL_FORMAT_CURL_OFF_T[U] work with mingw-w64 <=7.0.0
Add tweak for mingw-w64 when building tests/http/client programs to
avoid a bogus `-Wformat` warning when using mingw-w64 v7.0.0 or older.
The warning is bogus because these programs use curl's `printf()`
implementation that is guaranteed to support that format spec.
Add this for both CMake and autotools. (But only CMake is CI tested with
an old toolchain.)
Apply the workaround to `docs/examples`, and fix an example to use
curl's `printf()` with `CURL_FORMAT_CURL_OFF_T`.
Reintroduce curl `printf()` calls into `tests/http/client`, via #14625.
Also restore large number masks to a printf, changed earlier in #14382.
Follow-up to 232302f88a #14382
Ref: https://github.com/curl/curl/pull/14625#issuecomment-2302361737
Closes #14640
This commit is contained in:
parent
c04504885d
commit
c730c8549b
12 changed files with 60 additions and 43 deletions
|
|
@ -34,6 +34,10 @@ foreach(_example IN LISTS check_PROGRAMS)
|
|||
if(LIB_SELECTED STREQUAL LIB_STATIC AND WIN32)
|
||||
set_property(TARGET ${_example_target} APPEND PROPERTY COMPILE_DEFINITIONS "CURL_STATICLIB")
|
||||
endif()
|
||||
if(MINGW)
|
||||
# For mingw-w64 7.0.0 and earlier to avoid '-Wformat='
|
||||
set_property(TARGET ${_example_target} APPEND PROPERTY COMPILE_DEFINITIONS "__USE_MINGW_ANSI_STDIO=1")
|
||||
endif()
|
||||
set_target_properties(${_example_target} PROPERTIES
|
||||
OUTPUT_NAME "${_example}" UNITY_BUILD OFF)
|
||||
endforeach()
|
||||
|
|
|
|||
|
|
@ -46,6 +46,11 @@ if USE_CPPFLAG_CURL_STATICLIB
|
|||
AM_CPPFLAGS += -DCURL_STATICLIB
|
||||
endif
|
||||
|
||||
if HAVE_MINGW
|
||||
# For mingw-w64 7.0.0 and earlier to avoid '-Wformat='
|
||||
AM_CPPFLAGS += -D__USE_MINGW_ANSI_STDIO=1
|
||||
endif
|
||||
|
||||
# Prevent LIBS from being used for all link targets
|
||||
LIBS = $(BLANK_AT_MAKETIME)
|
||||
|
||||
|
|
|
|||
|
|
@ -75,8 +75,8 @@ int main(void)
|
|||
res = curl_easy_getinfo(curl, CURLINFO_CONTENT_LENGTH_DOWNLOAD_T,
|
||||
&filesize);
|
||||
if((CURLE_OK == res) && (filesize>0))
|
||||
printf("filesize %s: %" CURL_FORMAT_CURL_OFF_T " bytes\n",
|
||||
filename, filesize);
|
||||
curl_mprintf("filesize %s: %" CURL_FORMAT_CURL_OFF_T " bytes\n",
|
||||
filename, filesize);
|
||||
}
|
||||
else {
|
||||
/* we failed */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue