curl/docs/examples
Viktor Szakats b4834a7d6d
examples: prefer return over exit() (cont.)
Some of these calls were not in callbacks. These examples may leak
handles.

Also fix some whitespace.

Follow-up to 08c7c937dc #16507
Closes #16524
2025-03-01 02:09:02 +01:00
..
.checksrc docs/examples/checksrc: don't allow snprintf specifically 2025-01-06 13:49:21 +01:00
.gitignore gitignore: restore explicit lists and fix them 2025-01-28 14:44:35 +01:00
10-at-a-time.c examples: delete unused includes 2024-05-28 00:27:04 +02:00
adddocsref.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
address-scope.c Makefile.mk: drop in favour of autotools and cmake (MS-DOS, AmigaOS3) 2024-12-16 23:20:55 +01:00
altsvc.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
anyauthput.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
block_ip.c tidy-up: prefer return over exit(), fix fallouts 2025-02-28 13:11:41 +01:00
cacertinmem.c build: fix compiling with GCC 4.x versions 2025-01-22 11:26:15 +01:00
certinfo.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
chkspeed.c tidy-up: prefer return over exit(), fix fallouts 2025-02-28 13:11:41 +01:00
CMakeLists.txt msvc: tidy up _CRT_*_NO_DEPRECATE definitions 2025-01-12 00:34:21 +01:00
connect-to.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
cookie_interface.c tidy-up: prefer return over exit(), fix fallouts 2025-02-28 13:11:41 +01:00
crawler.c examples/complicated: fix warnings, bump deprecated callback, tidy up 2024-12-20 17:56:35 +01:00
debug.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
default-scheme.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
ephiperfifo.c examples: prefer return over exit() (cont.) 2025-03-01 02:09:02 +01:00
evhiperfifo.c examples: prefer return over exit() (cont.) 2025-03-01 02:09:02 +01:00
externalsocket.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
fileupload.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
ftp-wildcard.c examples: fix/silence -Wsign-conversion 2024-05-11 11:11:32 +02:00
ftpget.c build: fix -Wconversion/-Wsign-conversion warnings 2023-12-20 15:38:45 +00:00
ftpgetinfo.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
ftpgetresp.c clang-tidy: add to CI, add cmake support, fix fallouts 2024-12-27 13:42:32 +01:00
ftpsget.c build: fix -Wconversion/-Wsign-conversion warnings 2023-12-20 15:38:45 +00:00
ftpupload.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
ftpuploadfrommem.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
ftpuploadresume.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
getinfo.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
getinmemory.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
getredirect.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
getreferrer.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
ghiper.c examples: prefer return over exit() (cont.) 2025-03-01 02:09:02 +01:00
headerapi.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
hiperfifo.c examples: prefer return over exit() (cont.) 2025-03-01 02:09:02 +01:00
href_extractor.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
hsts-preload.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
htmltidy.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
htmltitle.cpp tidy-up: prefer return over exit(), fix fallouts 2025-02-28 13:11:41 +01:00
http2-download.c tidy-up: prefer return over exit(), fix fallouts 2025-02-28 13:11:41 +01:00
http2-pushinmemory.c examples: delete unused includes 2024-05-28 00:27:04 +02:00
http2-serverpush.c cmake: separate target for examples, optimize CI, fix fallouts 2024-09-20 23:53:33 +02:00
http2-upload.c tidy-up: prefer return over exit(), fix fallouts 2025-02-28 13:11:41 +01:00
http3-present.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
http3.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
http-options.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
http-post.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
httpcustomheader.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
httpput-postfields.c tidy-up: misc 2024-12-24 01:27:26 +01:00
httpput.c clang-tidy: add to CI, add cmake support, fix fallouts 2024-12-27 13:42:32 +01:00
https.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
imap-append.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
imap-authzid.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
imap-copy.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
imap-create.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
imap-delete.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
imap-examine.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
imap-fetch.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
imap-list.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
imap-lsub.c docs: remove use of the word 'very' 2023-09-07 22:52:07 +02:00
imap-multi.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
imap-noop.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
imap-search.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
imap-ssl.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
imap-store.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
imap-tls.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
interface.c docs/examples/interface.c: show CURLOPT_INTERFACE use 2023-10-30 12:45:34 +01:00
ipv6.c examples/ipv6.c: new example showing IPv6-only internet transfer 2024-01-10 09:33:03 +01:00
keepalive.c tcpkeepalive: add CURLOPT_TCP_KEEPCNT and --keepalive-cnt 2024-06-12 09:31:17 +02:00
localport.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
Makefile.am tidy-up: delete, comment or scope C macros reported unused 2025-02-14 10:37:14 +01:00
Makefile.example tidy-up: adjust casing of project names 2024-07-12 13:56:16 +02:00
Makefile.inc tidy-up: .gitignore lines mostly 2025-01-27 20:59:46 +01:00
maxconnects.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
multi-app.c docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
multi-debugcallback.c lib/src: white space edits to comply better with code style 2024-09-19 14:59:12 +02:00
multi-double.c examples: delete unused includes 2024-05-28 00:27:04 +02:00
multi-event.c examples/complicated: fix warnings, bump deprecated callback, tidy up 2024-12-20 17:56:35 +01:00
multi-formadd.c build: tidy up deprecation suppression, enable warnings for clang 2024-09-21 00:59:52 +02:00
multi-legacy.c docs: use lowercase curl and libcurl 2025-01-02 17:15:54 +01:00
multi-post.c examples: delete unused includes 2024-05-28 00:27:04 +02:00
multi-single.c examples: delete unused includes 2024-05-28 00:27:04 +02:00
multi-uv.c examples/complicated: fix warnings, bump deprecated callback, tidy up 2024-12-20 17:56:35 +01:00
multithread.c examples/complicated: fix warnings, bump deprecated callback, tidy up 2024-12-20 17:56:35 +01:00
netrc.c examples/netrc.c: add 2024-01-10 09:33:06 +01:00
parseurl.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
persistent.c examples: delete unused includes 2024-05-28 00:27:04 +02:00
pop3-authzid.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
pop3-dele.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
pop3-list.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
pop3-multi.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
pop3-noop.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
pop3-retr.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
pop3-ssl.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
pop3-stat.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
pop3-tls.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
pop3-top.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
pop3-uidl.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
post-callback.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
postinmemory.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
postit2-formadd.c build: tidy up deprecation suppression, enable warnings for clang 2024-09-21 00:59:52 +02:00
postit2.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
progressfunc.c copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
protofeats.c docs/examples/protofeats.c: Outputs all protocols and features 2023-04-18 08:10:27 +02:00
range.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
README.md GHA: silence proselint warnings and an error 2024-10-15 16:44:17 +02:00
resolve.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
rtsp-options.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
sendrecv.c build: fix compiling with GCC 4.x versions 2025-01-22 11:26:15 +01:00
sepheaders.c examples: delete unused includes 2024-05-28 00:27:04 +02:00
sessioninfo.c examples/complicated: fix warnings, bump deprecated callback, tidy up 2024-12-20 17:56:35 +01:00
sftpget.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
sftpuploadresume.c build: add Windows CE / CeGCC support, with CI jobs 2025-02-21 13:56:34 +01:00
shared-connection-cache.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
simple.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
simplepost.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
simplessl.c docs: use valid example domain names 2025-02-09 00:17:05 +01:00
smooth-gtk-thread.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
smtp-authzid.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
smtp-expn.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
smtp-mail.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
smtp-mime.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
smtp-multi.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
smtp-ssl.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
smtp-tls.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
smtp-vrfy.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
sslbackend.c docs: use CURLSSLBACKEND_NONE 2023-09-21 14:15:03 +02:00
synctime.c tidy-up: drop parenthesis around return expression 2025-01-14 12:11:42 +01:00
threaded-ssl.c examples/complicated: fix warnings, bump deprecated callback, tidy up 2024-12-20 17:56:35 +01:00
unixsocket.c tidy-up: OS names 2024-08-04 19:17:45 +02:00
url2file.c examples: delete unused includes 2024-05-28 00:27:04 +02:00
urlapi.c examples: make use of CURLOPT_(REDIR_|)PROTOCOLS_STR 2023-06-18 11:09:13 +02:00
usercertinmem.c build: fix compiling with GCC 4.x versions 2025-01-22 11:26:15 +01:00
version-check.pl copyright: update all copyright lines and remove year ranges 2023-01-03 09:19:21 +01:00
websocket-cb.c examples: use present tense in comments 2024-02-27 16:19:43 +01:00
websocket.c build: fix MSVC UWP builds 2024-11-28 14:24:03 +01:00
xmlstream.c examples/complicated: fix warnings, bump deprecated callback, tidy up 2024-12-20 17:56:35 +01:00

libcurl examples

This directory is for libcurl programming examples. They are meant to show some simple steps on how you can build your own application to take full advantage of libcurl.

If you end up with other small but still useful example sources, please mail them for submission in future packages and on the website.

Building

The Makefile.example is an example Makefile that could be used to build these examples. Just edit the file according to your system and requirements first.

Most examples should build fine using a command line like this:

`curl-config --cc --cflags --libs` -o example-my example.c

Some compilers do not like having the arguments in this order but instead want you do reorganize them like:

`curl-config --cc` -o example-my example.c `curl-config --cflags --libs`

Please do not use the curl.se site as a test target for your libcurl applications/experiments. Even if some of the examples use that site as a URL at some places, it does not mean that the URLs work or that we expect you to actually torture our website with your tests. Thanks.

Examples

Each example source code file is designed to be and work stand-alone and rather self-explanatory. The examples may at times lack the level of error checks you need in a real world, but that is then only for the sake of readability: to make the code smaller and easier to follow.