curl/include/curl
Viktor Szakats 413a0fedd0
autotools: stop setting -std=gnu89 with --enable-warnings
Do not alter the C standard when building with `--enable-warnings` when
building with gcc.

On one hand this alters warning results compared to a default build.
On the other, it may produce different binaries, which is unexpected.

Also fix new warnings that appeared after removing `-std=gnu89`:

- include: fix public curl headers to use the correct printf mask for
  `CURL_FORMAT_CURL_OFF_T` and `CURL_FORMAT_CURL_OFF_TU` with mingw-w64
  and Visual Studio 2013 and newer. This fixes the printf mask warnings
  in examples and tests. E.g. [1]

- conncache: fix printf format string [2].

- http2: fix potential null pointer dereference [3].
  (seen on Slackware with gcc 11.)

- libssh: fix printf format string in SFTP code [4].
  Also make MSVC builds compatible with old CRT versions.

- libssh2: fix printf format string in SFTP code for MSVC.
  Applying the same fix as for libssh above.

- unit1395: fix `argument is null` and related issues [5]:
  - stop calling `strcmp()` with NULL to avoid undefined behaviour.
  - fix checking results if some of them were NULL.
  - do not pass NULL to printf `%s`.

- ci: keep a build job with `-std=gnu89` to continue testing for
  C89-compliance. We can apply this to other gcc jobs as needed.
  Ref: b23ce2cee7 (2022-09-23) #9542

[1] https://dev.azure.com/daniel0244/curl/_build/results?buildId=18581&view=logs&jobId=ccf9cc6d-2ef1-5cf2-2c09-30f0c14f923b
[2] https://github.com/curl/curl/actions/runs/6896854263/job/18763831142?pr=12346#step:6:67
[3] https://github.com/curl/curl/actions/runs/6896854253/job/18763839238?pr=12346#step:30:214
[4] https://github.com/curl/curl/actions/runs/6896854253/job/18763838007?pr=12346#step:29:895
[5] https://github.com/curl/curl/actions/runs/6896854253/job/18763836775?pr=12346#step:33:1689

Closes #12346
2023-11-20 22:28:17 +00:00
..
.gitignore copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
curl.h curl.h: on FreeBSD include sys/param.h instead of osreldate.h 2023-10-16 19:40:02 +02:00
curlver.h RELEASE-NOTES: synced 2023-10-22 10:58:08 +02:00
easy.h curl_easy_getinfo: clarify on return data types 2023-05-18 20:46:36 +02:00
header.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
Makefile.am copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
mprintf.h include/curl/mprintf.h: add __attribute__ for the prototypes 2023-08-07 10:46:14 +02:00
multi.h curl_multi_get_handles: get easy handles from a multi handle 2023-09-25 20:16:58 +02:00
options.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
stdcheaders.h copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
system.h autotools: stop setting -std=gnu89 with --enable-warnings 2023-11-20 22:28:17 +00:00
typecheck-gcc.h haproxy: add --haproxy-clientip flag to spoof client IPs 2023-06-05 20:08:37 +02:00
urlapi.h urlapi: CURLU_PUNY2IDN - convert from punycode to IDN name 2023-08-13 15:34:38 +02:00
websockets.h websocket: rename arguments/variables to match docs 2023-07-22 00:31:31 +02:00