aboutsummaryrefslogtreecommitdiffstats
path: root/docs/libcurl/curl_slist_append.3
diff options
context:
space:
mode:
Diffstat (limited to 'docs/libcurl/curl_slist_append.3')
-rw-r--r--docs/libcurl/curl_slist_append.318
1 files changed, 15 insertions, 3 deletions
diff --git a/docs/libcurl/curl_slist_append.3 b/docs/libcurl/curl_slist_append.3
index cc841549..255e0eb4 100644
--- a/docs/libcurl/curl_slist_append.3
+++ b/docs/libcurl/curl_slist_append.3
@@ -5,7 +5,7 @@
.\" * | (__| |_| | _ <| |___
.\" * \___|\___/|_| \_\_____|
.\" *
-.\" * Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
+.\" * Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
.\" *
.\" * This software is licensed as described in the file COPYING, which
.\" * you should have received as part of this distribution. The terms
@@ -19,7 +19,7 @@
.\" * KIND, either express or implied.
.\" *
.\" **************************************************************************
-.TH curl_slist_append 3 "May 05, 2017" "libcurl 7.63.0" "libcurl Manual"
+.TH curl_slist_append 3 "January 02, 2019" "libcurl 7.64.0" "libcurl Manual"
.SH NAME
curl_slist_append - add a string to an slist
@@ -40,17 +40,29 @@ The list should be freed again (after usage) with
\fIcurl_slist_free_all(3)\fP.
.SH RETURN VALUE
A null pointer is returned if anything went wrong, otherwise the new list
-pointer is returned.
+pointer is returned. To avoid overwriting an existing non-empty list on
+failure, the new list should be returned to a temporary variable which can
+be tested for NULL before updating the original list pointer.
.SH EXAMPLE
.nf
CURL *handle;
struct curl_slist *slist=NULL;
+struct curl_slist *temp=NULL;
slist = curl_slist_append(slist, "pragma:");
if (slist == NULL)
return -1;
+temp = curl_slist_append(slist, "Accept:")
+
+if (temp == NULL) {
+ curl_slist_free_all(slist);
+ return -1;
+}
+
+slist = temp;
+
curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist);
curl_easy_perform(handle);