diff options
Diffstat (limited to 'docs/libcurl/curl_slist_append.3')
-rw-r--r-- | docs/libcurl/curl_slist_append.3 | 18 |
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); |