curl/docs/examples
Daniel Stenberg 47e540df8f
examples: remove recursive calls to curl_multi_socket_action
From within the timer callbacks. Recursive is problematic for several
reasons. They should still work, but this way the examples and the
documentation becomes simpler. I don't think we need to encourage
recursive calls.

Discussed in #3537
Closes #3601
2019-02-23 23:08:38 +01:00
..
.gitignore examples: Update .gitignore 2019-01-02 14:32:01 +01:00
10-at-a-time.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
adddocsref.pl scripts: allow all perl scripts to be run directly 2018-01-07 15:42:11 -05:00
anyauthput.c anyauthput: fix compiler warning on 64-bit Windows 2018-09-12 12:25:53 +02:00
asiohiper.cpp example/asiohiper: insert warning comment about its status 2018-09-10 17:42:39 +02:00
cacertinmem.c checksrc: make sure sizeof() is used *with* parentheses 2018-05-21 23:21:47 +02:00
certinfo.c typecheck-gcc.h: check CURLINFO_CERTINFO 2017-06-01 21:06:09 +02:00
chkspeed.c getinfo: add microsecond precise timers for various intervals 2018-05-17 13:41:04 +02:00
cookie_interface.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
crawler.c examples/crawler: Fix the Accept-Encoding setting 2019-02-12 18:07:29 -05:00
curlgtk.c whitespace fixes 2018-09-23 22:24:02 +00:00
curlx.c examples: Fix memory leaks from realloc errors 2018-09-17 14:07:47 +02:00
debug.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
ephiperfifo.c examples/ephiperfifo: report error when epoll_ctl fails 2018-11-20 19:58:41 +01:00
evhiperfifo.c examples: remove recursive calls to curl_multi_socket_action 2019-02-23 23:08:38 +01:00
externalsocket.c examples/externalsocket.c: s/closesocket/closecb 2017-05-31 23:22:46 +02:00
fileupload.c getinfo: add microsecond precise timers for various intervals 2018-05-17 13:41:04 +02:00
fopen.c all: Refactor malloc+memset to use calloc 2018-04-15 03:00:37 -04:00
ftp-wildcard.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
ftpget.c examples: remove superfluous null-pointer checks 2019-02-14 23:30:43 +01:00
ftpgetinfo.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
ftpgetresp.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
ftpsget.c examples: remove superfluous null-pointer checks 2019-02-14 23:30:43 +01:00
ftpupload.c spelling fixes 2018-02-23 23:29:01 +00:00
ftpuploadfrommem.c examples: fixed too long line and too long string warnings 2017-05-01 09:16:12 +02:00
ftpuploadresume.c examples/ftpuploadresume: checksrc compliance 2017-08-16 14:44:50 -04:00
getinfo.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
getinmemory.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
getredirect.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
ghiper.c examples: remove recursive calls to curl_multi_socket_action 2019-02-23 23:08:38 +01:00
hiperfifo.c examples: remove recursive calls to curl_multi_socket_action 2019-02-23 23:08:38 +01:00
href_extractor.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
htmltidy.c example/htmltidy: fix include paths of tidy libraries 2018-09-26 14:33:34 +02:00
htmltitle.cpp examples: make the C++ examples follow our code style too 2017-01-08 16:39:41 +01:00
http2-download.c examples/http2-download: cleaned up 2019-02-14 23:30:43 +01:00
http2-pushinmemory.c examples/http2-pushinmemory: receive HTTP/2 pushed files in memory 2018-09-18 10:37:26 +02:00
http2-serverpush.c examples/http2-serverpush: add some sensible error checks 2019-02-18 14:57:38 +01:00
http2-upload.c examples/http2-upload: cleaned up 2019-02-14 23:30:43 +01:00
http-post.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
httpcustomheader.c examples/httpcustomheader: Value stored to 'res' is never read 2019-02-14 23:30:43 +01:00
httpput.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
https.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-append.c examples/imap-append: Set size of data to be uploaded 2016-09-18 02:19:17 -04:00
imap-copy.c spelling fixes 2017-03-26 23:56:23 +02:00
imap-create.c spelling fixes 2017-03-26 23:56:23 +02:00
imap-delete.c spelling fixes 2017-03-26 23:56:23 +02:00
imap-examine.c spelling fixes 2017-03-26 23:56:23 +02:00
imap-fetch.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
imap-list.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-lsub.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-multi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
imap-noop.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-search.c spelling fixes 2017-03-26 23:56:23 +02:00
imap-ssl.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
imap-store.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
imap-tls.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
Makefile.am snprintf: renamed and we now only use msnprintf() 2018-11-23 08:26:51 +01:00
makefile.dj whitespace fixes 2018-09-23 22:24:02 +00:00
Makefile.example URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
Makefile.inc setopt: add CURLOPT_CURLU 2018-11-09 15:47:28 +01:00
Makefile.m32 examples/Makefile.m32: sync with core [ci skip] 2018-09-22 21:44:36 +00:00
Makefile.netware axtls: removed 2018-11-01 10:29:53 +01:00
multi-app.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
multi-debugcallback.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
multi-double.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
multi-formadd.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
multi-post.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
multi-single.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
multi-uv.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
multithread.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
opensslthreadlock.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
parseurl.c examples/parseurl.c: show off the URL API a bit 2018-09-22 12:04:35 +02:00
persistent.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
pop3-dele.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-list.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-multi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
pop3-noop.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-retr.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-ssl.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-stat.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
pop3-tls.c examples: adhere to curl code style 2016-02-11 09:44:45 +01:00
pop3-top.c spelling fixes 2017-03-26 23:56:23 +02:00
pop3-uidl.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
post-callback.c examples/post-callback: use long for CURLOPT_POSTFIELDSIZE 2017-09-21 20:07:24 +02:00
postinmemory.c examples/postinmemory: Potential leak of memory pointed to by 'chunk.memory' 2019-02-14 23:30:43 +01:00
postit2-formadd.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
postit2.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
progressfunc.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
README examples/README: cut out the incomplete list 2015-11-25 10:49:22 +01:00
resolve.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
rtsp.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
sampleconv.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
sendrecv.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
sepheaders.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
sessioninfo.c examples: Fix format specifiers 2018-05-14 09:43:15 +02:00
sftpget.c examples: remove superfluous null-pointer checks 2019-02-14 23:30:43 +01:00
sftpuploadresume.c examples/sftpuploadresume: Value stored to 'result' is never read 2019-02-14 23:30:44 +01:00
shared-connection-cache.c cleanup: misc typos in strings and comments 2018-03-16 11:08:31 +01:00
simple.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
simplepost.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
simplessl.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
smooth-gtk-thread.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
smtp-expn.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
smtp-mail.c examples/smtp-mail.c: use separate defines for options and mail 2017-12-12 15:28:05 +01:00
smtp-mime.c spelling fixes 2018-06-03 12:14:45 +00:00
smtp-multi.c code style: use spaces around pluses 2017-09-11 09:29:50 +02:00
smtp-ssl.c examples/mime: minor example code fixes 2017-09-05 10:05:27 +00:00
smtp-tls.c examples/mime: minor example code fixes 2017-09-05 10:05:27 +00:00
smtp-vrfy.c URLs: change all http:// URLs to https:// 2016-02-03 00:19:02 +01:00
sslbackend.c curl-compilers: enable -Wbad-function-cast on GCC 2018-08-21 18:53:45 +02:00
synctime.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00
threaded-shared-conn.c spelling fixes 2018-06-03 12:14:45 +00:00
threaded-ssl.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
url2file.c examples/url2file.c: add missing curl_global_cleanup() call 2018-01-18 17:10:34 +01:00
urlapi.c setopt: add CURLOPT_CURLU 2018-11-09 15:47:28 +01:00
usercertinmem.c code style: use spaces around equals signs 2017-09-11 09:29:50 +02:00
version-check.pl whitespace fixes 2018-09-23 22:24:02 +00:00
xmlstream.c docs/examples: URL updates 2018-09-23 09:23:29 +00:00

                                  _   _ ____  _
                              ___| | | |  _ \| |
                             / __| | | | |_) | |
                            | (__| |_| |  _ <| |___
                             \___|\___/|_| \_\_____|

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 web site.

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 example.c

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

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

*PLEASE* do not use the curl.haxx.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 doesn't mean that the URLs work or that we expect you to
actually torture our web site 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.