curl/lib/curlx
Viktor Szakats e50aa46fb2
build: update to not need _CRT_NONSTDC_NO_DEPRECATE with MSVC
Use non-deprecated CRT function variants on Windows.

- introduce `curlx_fdopen()`, `curlx_close()` and use them. Map them to
  non-deprecated, underscored, CRT functions on Windows.

- replace `close()` uses with either `sclose()` (for sockets) or
  `curlx_close()` (for files).

- map `fileno`, `unlink`, `isatty` to their non-deprecated, underscored,
  versions on Windows.

- tool_dirhie: map `mkdir` to `_mkdir` on Windows.

- easy: use `_strdup()` on Windows, regardless of how `HAVE_STRDUP` is
  set.

- cmake: assume `HAVE_STRDUP` on Windows. To allow dropping a detection
  hack using `_CRT_NONSTDC_NO_DEPRECATE` with MSVC. Windows always has
  `_strdup()` which the code uses, but also needs `HAVE_STRDUP` defined
  to disable curl's own `strdup()` implementation.

- curl_setup.h: drop `_CRT_NONSTDC_NO_DEPRECATE` as no longer necessary.

Closes #20212
2026-01-20 23:19:54 +01:00
..
base64.c curlx: rename Curl_-prefixed symbols to curlx_ 2025-12-22 01:47:22 +01:00
base64.h curlx: rename Curl_-prefixed symbols to curlx_ 2025-12-22 01:47:22 +01:00
binmode.h binmode: delete extra nop instruction from fallback macro 2025-12-22 01:47:21 +01:00
curlx.h curlx: curlx_strcopy() instead of strcpy() 2025-12-22 23:01:05 +01:00
dynbuf.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
dynbuf.h build: drop duplicate include curl/curl.h and others 2025-12-19 10:58:11 +01:00
fopen.c build: merge TrackMemory (CURLDEBUG) into debug-enabled option 2026-01-19 18:43:17 +01:00
fopen.h build: update to not need _CRT_NONSTDC_NO_DEPRECATE with MSVC 2026-01-20 23:19:54 +01:00
inet_ntop.c badwords: catch and fix more variants of NN-bit 2026-01-14 02:35:00 +01:00
inet_ntop.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
inet_pton.c tidy-up: miscellaneous 2026-01-20 12:37:56 +01:00
inet_pton.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
multibyte.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
multibyte.h tidy-up: avoid (()), clang-format fixes and more 2025-12-05 16:07:03 +01:00
nonblock.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
nonblock.h build: drop duplicate include curl/curl.h and others 2025-12-19 10:58:11 +01:00
snprintf.h curlx: replace sprintf with snprintf 2025-11-25 11:11:06 +01:00
strcopy.c strcopy: minor comment edit to avoid matching a grep for strcpy use 2025-12-27 23:25:13 +01:00
strcopy.h curlx: curlx_strcopy() instead of strcpy() 2025-12-22 23:01:05 +01:00
strerr.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
strerr.h curlx: move Curl_strerror, use in src and tests, ban strerror globally 2025-10-06 09:44:23 +02:00
strparse.c digest: fix OWS and escaped quote handling 2025-12-30 23:22:26 +01:00
strparse.h digest: fix OWS and escaped quote handling 2025-12-30 23:22:26 +01:00
timediff.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
timediff.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
timeval.c windows: bump minimum to Vista (from XP) 2026-01-17 11:41:49 +01:00
timeval.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
version_win32.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
version_win32.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
wait.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
wait.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
warnless.c tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
warnless.h tidy-up: miscellaneous 2025-12-26 22:06:09 +01:00
winapi.c curlx: curlx_strcopy() instead of strcpy() 2025-12-22 23:01:05 +01:00
winapi.h windows: use native error code types more 2025-10-06 12:12:44 +02:00