summaryrefslogtreecommitdiff
path: root/docs/examples/multi-debugcallback.c
AgeCommit message (Collapse)Author
2024-09-19lib/src: white space edits to comply better with code styleDaniel Stenberg
... as checksrc now finds and complains about these. Closes #14921
2024-05-28examples: delete unused includesViktor Szakats
Delete a bunch of unnecessary-looking headers from some examples. This is known to be tricky on AIX (perhaps also in other less-tested envs). Let me know if any of this looks incorrect or outright fails on some systems. Follow-up to d4b85890555388bec212b75f47a5c1a48705b156 #13771 Closes #13785
2024-05-26examples: fix compiling with MSVCViktor Szakats
- `websocket.c`: use `Sleep()` on Windows. `sleep()` and `unistd.h` are not available in MSVC. - `http2-upload.c`: use local `gettimeofday()` implementation when compiled with MSVC. (Alternate solution is to disable the trace function for MSVC.) Public domain code copied and adapted from libssh2: https://github.com/libssh2/libssh2/blob/e973493f992313b3be73f51d3f7ca6d52e288558/src/misc.c#L719-L743 - silence compiler warning for deprecated `inet_addr()`. Also drop duplicate winsock2 include. ``` curl\docs\examples\externalsocket.c(125,32): error C2220: the following warning is treated as an error [curl\bld\docs\examples\curl-example-externalsocket.vcxproj] curl\docs\examples\externalsocket.c(125,32): warning C4996: 'inet_addr': Use inet_pton() or InetPton() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disable deprecated API warnings [curl\bld\docs\examples\curl-example-e ``` Ref: https://github.com/curl/curl/actions/runs/9227337318/job/25389073450#step:4:95 - silence an MSVC compiler warning. This is in conflict with `checksrc` rules, so silence the rule in favour of the warning-free C syntax. ``` curl\docs\examples\multi-legacy.c(152,1): error C2220: the following warning is treated as an error [curl\bld\docs\examples\curl-example-multi-legacy.vcxproj] curl\docs\examples\multi-legacy.c(152,1): warning C4706: assignment within conditional expression [curl\bld\docs\examples\curl-example-multi-legacy.vcxproj] ``` Ref: https://github.com/curl/curl/actions/runs/9227337318/job/25389073450#step:4:226 - do not use `sys/time.h` and `unistd.h` in Windows builds. Some of these includes look unnecessary. Subject to another PR. Cherry-picked from #13766 Closes #13771
2024-02-27examples: use present tense in commentsDaniel Stenberg
remove "will" and some other word fixes Closes #13003
2023-12-16build: enable missing OpenSSF-recommended warnings, with fixesViktor Szakats
https://best.openssf.org/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C++.html as of 2023-11-29 [1]. Enable new recommended warnings (except `-Wsign-conversion`): - enable `-Wformat=2` for clang (in both cmake and autotools). - add `CURL_PRINTF()` internal attribute and mark functions accepting printf arguments with it. This is a copy of existing `CURL_TEMP_PRINTF()` but using `__printf__` to make it compatible with redefinting the `printf` symbol: https://gcc.gnu.org/onlinedocs/gcc-3.0.4/gcc_5.html#SEC94 - fix `CURL_PRINTF()` and existing `CURL_TEMP_PRINTF()` for mingw-w64 and enable it on this platform. - enable `-Wimplicit-fallthrough`. - enable `-Wtrampolines`. - add `-Wsign-conversion` commented with a FIXME. - cmake: enable `-pedantic-errors` the way we do it with autotools. Follow-up to d5c0351055d5709da8f3e16c91348092fdb481aa #2747 - lib/curl_trc.h: use `CURL_FORMAT()`, this also fixes it to enable format checks. Previously it was always disabled due to the internal `printf` macro. Fix them: - fix bug where an `set_ipv6_v6only()` call was missed in builds with `--disable-verbose` / `CURL_DISABLE_VERBOSE_STRINGS=ON`. - add internal `FALLTHROUGH()` macro. - replace obsolete fall-through comments with `FALLTHROUGH()`. - fix fallthrough markups: Delete redundant ones (showing up as warnings in most cases). Add missing ones. Fix indentation. - silence `-Wformat-nonliteral` warnings with llvm/clang. - fix one `-Wformat-nonliteral` warning. - fix new `-Wformat` and `-Wformat-security` warnings. - fix `CURL_FORMAT_SOCKET_T` value for mingw-w64. Also move its definition to `lib/curl_setup.h` allowing use in `tests/server`. - lib: fix two wrongly passed string arguments in log outputs. Co-authored-by: Jay Satiro - fix new `-Wformat` warnings on mingw-w64. [1] https://github.com/ossf/wg-best-practices-os-developers/blob/56c0fde3895bfc55c8a973ef49a2572c507b2ae1/docs/Compiler-Hardening-Guides/Compiler-Options-Hardening-Guide-for-C-and-C%2B%2B.md Closes #12489
2023-06-15examples/multi-debugcallback.c: avoid the bool typedefDaniel Stenberg
Apparently this cannot be done in c23 Reported-by: Cristian Rodríguez Fixes #11299 Closes #11319
2023-01-03copyright: update all copyright lines and remove year rangesDaniel Stenberg
- they are mostly pointless in all major jurisdictions - many big corporations and projects already don't use them - saves us from pointless churn - git keeps history for us - the year range is kept in COPYING checksrc is updated to allow non-year using copyright statements Closes #10205
2022-10-27misc: typo and grammar fixesAyesh Karunaratne
- Replace `Github` with `GitHub`. - Replace `windows` with `Windows` - Replace `advice` with `advise` where a verb is used. - A few fixes on removing repeated words. - Replace `a HTTP` with `an HTTP` Closes #9802
2022-06-13copyright: make repository REUSE compliantmax.mehl
Add licensing and copyright information for all files in this repository. This either happens in the file itself as a comment header or in the file `.reuse/dep5`. This commit also adds a Github workflow to check pull requests and adapts copyright.pl to the changes. Closes #8869
2021-11-07docs: reduce/avoid English contractionsDaniel Stenberg
You're => You are Hasn't => Has not Doesn't => Does not Don't => Do not You'll => You will etc Closes #7930
2021-07-07docs/examples: use curl_multi_poll() in multi examplesDaniel Stenberg
The API is soon two years old and deserves being shown as the primary way to drive multi code as it makes it much easier to write code. multi-poll: removed multi-legacy: add to show how we did multi API use before curl_multi_wait/poll. Closes #7352
2020-11-05copyright: fix year rangesDaniel Stenberg
Follow-up from 4d2f8006777
2020-11-04curl.se: new homeDaniel Stenberg
Closes #6172
2018-09-23docs/examples: URL updatesViktor Szakats
- also update two URLs outside of docs/examples - fix spelling of filename persistant.c - fix three long lines that started failing checksrc.pl Closes https://github.com/curl/curl/pull/3036
2018-09-10docs/examples: do not wait when no transfers are runningKamil Dudka
Closes #2948
2018-07-09examples: fix -Wformat warningsMarcel Raad
When size_t is not a typedef for unsigned long (as usually the case on Windows), GCC emits -Wformat warnings when using lu and lx format specifiers with size_t. Silence them with explicit casts to unsigned long. Closes https://github.com/curl/curl/pull/2721
2018-05-14examples: Fix format specifiersRikard Falkeborn
Closes #2561
2017-09-11code style: use spaces around plusesDaniel Stenberg
2017-09-11code style: use spaces around equals signsDaniel Stenberg
2017-05-24examples: fix Wimplicit-fallthrough warningsMarcel Raad
This is contained in -Wextra with GCC 7.
2016-12-13checksrc: stricter no-space-before-paren enforcementDaniel Stenberg
In order to make the code style more uniform everywhere
2016-02-11examples: adhere to curl code styleDaniel Stenberg
All plain C examples now (mostly) adhere to the curl code style. While they are only examples, they had diverted so much and contained all sorts of different mixed code styles by now. Having them use a unified style helps users and readability. Also, as they get copy-and-pasted widely by users, making sure they're clean and nice is a good idea. 573 checksrc warnings were addressed.
2016-02-03URLs: change all http:// URLs to https://Daniel Stenberg
2015-07-01examples: provide <DESC> sectionsDaniel Stenberg
2014-11-19examples: Wait recommended 100ms when no file descriptors are readyJay Satiro
Prior to this change when no file descriptors were ready on platforms other than Windows the multi examples would sleep whatever was in timeout, which may or may not have been less than the minimum recommended value [1] of 100ms. [1]: http://curl.haxx.se/libcurl/c/curl_multi_fdset.html
2014-11-15examples: Don't call select() to sleep on windowsJay Satiro
Windows does not support using select() for sleeping without a dummy socket. Instead use Windows' Sleep() and sleep for 100ms which is the minimum suggested value in the curl_multi_fdset() doc. Prior to this change the multi examples would exit prematurely since select() would error instead of sleeping when called without an fd. Reported-by: Johan Lantz Bug: http://curl.haxx.se/mail/lib-2014-11/0221.html
2012-08-27examples: use do/while loop for multi examplesDave Reisner
It's conceivable that after the first time curl_multi_perform returns, the outvalue still_running will be 0, but work will have been done. This is shown by a workload of small, purely file:// based URLs. Ensure that we always read pending messages off the multi handle by forcing the while loop to run at least once.
2011-03-10sources: update source headersDaniel Stenberg
All C and H files now (should) feature the proper project curl source code header, which includes basic info, a copyright statement and some basic disclaimers.
2010-12-17examples: fix compiler warningsDaniel Stenberg
2010-10-05examples: use example.com in example URLsDaniel Stenberg
2010-09-30multi & hiper examples: updates and cleanupsDirk Manske
all multi and hiper examples: * don't loop curl_multi_perform calls, that was <7.20.0 style, currently the exported multi functions will not return CURLM_CALL_MULTI_PERFORM all hiper examples: * renamed check_run_count to check_multi_info * don't compare current running handle count with previous value, this was the wrong way to check for finished requests, simply call curl_multi_info_read * it's also safe to call curl_multi_remove_handle inside the curl_multi_info_read loop. ghiper.c: * replaced curl_multi_socket (that function is marked as obsolete) calls with curl_multi_socket_action calls (as in hiperfifo.c and evhiperfifo.c) ghiper.c and evhiperfifo.c: * be smart as hiperfifo.c, don't do uncessary curl_multi_* calls in new_conn and main
2010-07-14examples: add curl_multi_timeoutConstantine Sapuntzakis
Make the multi-interface using examples use curl_multi_timeout to properly educate users how to do things.
2010-04-24test536: do not fail with threaded DNS resolverKamil Dudka
Also tweaked comments in certain examples using curl_multi_fdset().
2010-03-24remove the CVSish $Id$ linesDaniel Stenberg
2009-06-05docs/example patches for VMSYang Tse
2008-05-22Fixed a surprising number of example programs that were passing int argumentsDan Fandrich
to curl_easy_setopt instead of long.
2008-02-27Michal Marek's cleanup of how curl_easy_setopt() is used in examples andDaniel Stenberg
test code. Thanks to his curl_easy_setopt() typechecker work...
2006-10-13Added comments about checking return code and the maxfd counterDaniel Stenberg
2004-05-24multi interface, debug callbackDaniel Stenberg