curl_slist_append.3 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. .\" **************************************************************************
  2. .\" * _ _ ____ _
  3. .\" * Project ___| | | | _ \| |
  4. .\" * / __| | | | |_) | |
  5. .\" * | (__| |_| | _ <| |___
  6. .\" * \___|\___/|_| \_\_____|
  7. .\" *
  8. .\" * Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
  9. .\" *
  10. .\" * This software is licensed as described in the file COPYING, which
  11. .\" * you should have received as part of this distribution. The terms
  12. .\" * are also available at https://curl.se/docs/copyright.html.
  13. .\" *
  14. .\" * You may opt to use, copy, modify, merge, publish, distribute and/or sell
  15. .\" * copies of the Software, and permit persons to whom the Software is
  16. .\" * furnished to do so, under the terms of the COPYING file.
  17. .\" *
  18. .\" * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
  19. .\" * KIND, either express or implied.
  20. .\" *
  21. .\" **************************************************************************
  22. .TH curl_slist_append 3 "19 Jun 2003" "libcurl 7.10.4" "libcurl Manual"
  23. .SH NAME
  24. curl_slist_append - add a string to an slist
  25. .SH SYNOPSIS
  26. .B #include <curl/curl.h>
  27. .sp
  28. .BI "struct curl_slist *curl_slist_append(struct curl_slist *" list,
  29. .BI "const char * "string ");"
  30. .ad
  31. .SH DESCRIPTION
  32. \fIcurl_slist_append(3)\fP appends a string to a linked list of strings. The
  33. existing \fBlist\fP should be passed as the first argument and the new list is
  34. returned from this function. Pass in NULL in the \fBlist\fP argument to create
  35. a new list. The specified \fBstring\fP has been appended when this function
  36. returns. \fIcurl_slist_append(3)\fP copies the string.
  37. The list should be freed again (after usage) with
  38. \fIcurl_slist_free_all(3)\fP.
  39. .SH RETURN VALUE
  40. A null pointer is returned if anything went wrong, otherwise the new list
  41. pointer is returned. To avoid overwriting an existing non-empty list on
  42. failure, the new list should be returned to a temporary variable which can
  43. be tested for NULL before updating the original list pointer.
  44. .SH EXAMPLE
  45. .nf
  46. CURL *handle;
  47. struct curl_slist *slist=NULL;
  48. struct curl_slist *temp=NULL;
  49. slist = curl_slist_append(slist, "pragma:");
  50. if (slist == NULL)
  51. return -1;
  52. temp = curl_slist_append(slist, "Accept:")
  53. if (temp == NULL) {
  54. curl_slist_free_all(slist);
  55. return -1;
  56. }
  57. slist = temp;
  58. curl_easy_setopt(handle, CURLOPT_HTTPHEADER, slist);
  59. curl_easy_perform(handle);
  60. curl_slist_free_all(slist); /* free the list again */
  61. .fi
  62. .SH "SEE ALSO"
  63. .BR curl_slist_free_all "(3), "