xref: /aosp_15_r20/external/curl/docs/libcurl/curl_url_dup.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker---
2*6236dae4SAndroid Build Coastguard Workerc: Copyright (C) Daniel Stenberg, <[email protected]>, et al.
3*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl
4*6236dae4SAndroid Build Coastguard WorkerTitle: curl_url_dup
5*6236dae4SAndroid Build Coastguard WorkerSection: 3
6*6236dae4SAndroid Build Coastguard WorkerSource: libcurl
7*6236dae4SAndroid Build Coastguard WorkerSee-also:
8*6236dae4SAndroid Build Coastguard Worker  - CURLOPT_CURLU (3)
9*6236dae4SAndroid Build Coastguard Worker  - curl_url (3)
10*6236dae4SAndroid Build Coastguard Worker  - curl_url_cleanup (3)
11*6236dae4SAndroid Build Coastguard Worker  - curl_url_get (3)
12*6236dae4SAndroid Build Coastguard Worker  - curl_url_set (3)
13*6236dae4SAndroid Build Coastguard WorkerProtocol:
14*6236dae4SAndroid Build Coastguard Worker  - All
15*6236dae4SAndroid Build Coastguard WorkerAdded-in: 7.62.0
16*6236dae4SAndroid Build Coastguard Worker---
17*6236dae4SAndroid Build Coastguard Worker
18*6236dae4SAndroid Build Coastguard Worker# NAME
19*6236dae4SAndroid Build Coastguard Worker
20*6236dae4SAndroid Build Coastguard Workercurl_url_dup - duplicate a URL handle
21*6236dae4SAndroid Build Coastguard Worker
22*6236dae4SAndroid Build Coastguard Worker# SYNOPSIS
23*6236dae4SAndroid Build Coastguard Worker
24*6236dae4SAndroid Build Coastguard Worker~~~c
25*6236dae4SAndroid Build Coastguard Worker#include <curl/curl.h>
26*6236dae4SAndroid Build Coastguard Worker
27*6236dae4SAndroid Build Coastguard WorkerCURLU *curl_url_dup(const CURLU *inhandle);
28*6236dae4SAndroid Build Coastguard Worker~~~
29*6236dae4SAndroid Build Coastguard Worker
30*6236dae4SAndroid Build Coastguard Worker# DESCRIPTION
31*6236dae4SAndroid Build Coastguard Worker
32*6236dae4SAndroid Build Coastguard WorkerDuplicates the URL object the input *CURLU* *inhandle* identifies and
33*6236dae4SAndroid Build Coastguard Workerreturns a pointer to the copy as a new *CURLU* handle. The new handle also
34*6236dae4SAndroid Build Coastguard Workerneeds to be freed with curl_url_cleanup(3).
35*6236dae4SAndroid Build Coastguard Worker
36*6236dae4SAndroid Build Coastguard Worker# %PROTOCOLS%
37*6236dae4SAndroid Build Coastguard Worker
38*6236dae4SAndroid Build Coastguard Worker# EXAMPLE
39*6236dae4SAndroid Build Coastguard Worker
40*6236dae4SAndroid Build Coastguard Worker~~~c
41*6236dae4SAndroid Build Coastguard Workerint main(void)
42*6236dae4SAndroid Build Coastguard Worker{
43*6236dae4SAndroid Build Coastguard Worker  CURLUcode rc;
44*6236dae4SAndroid Build Coastguard Worker  CURLU *url = curl_url();
45*6236dae4SAndroid Build Coastguard Worker  CURLU *url2;
46*6236dae4SAndroid Build Coastguard Worker  rc = curl_url_set(url, CURLUPART_URL, "https://example.com", 0);
47*6236dae4SAndroid Build Coastguard Worker  if(!rc) {
48*6236dae4SAndroid Build Coastguard Worker    url2 = curl_url_dup(url); /* clone it */
49*6236dae4SAndroid Build Coastguard Worker    curl_url_cleanup(url2);
50*6236dae4SAndroid Build Coastguard Worker  }
51*6236dae4SAndroid Build Coastguard Worker  curl_url_cleanup(url);
52*6236dae4SAndroid Build Coastguard Worker}
53*6236dae4SAndroid Build Coastguard Worker~~~
54*6236dae4SAndroid Build Coastguard Worker
55*6236dae4SAndroid Build Coastguard Worker# %AVAILABILITY%
56*6236dae4SAndroid Build Coastguard Worker
57*6236dae4SAndroid Build Coastguard Worker# RETURN VALUE
58*6236dae4SAndroid Build Coastguard Worker
59*6236dae4SAndroid Build Coastguard WorkerReturns a new handle or NULL if out of memory.
60