1
- #include < iostream>
2
- #include < memory>
1
+ #include " ../../../../../library-tests/string_concat/stl.h"
3
2
4
- #include < curl/curl.h>
3
+ namespace std {
4
+ struct CURL {};
5
+ typedef CURL curl;
6
+ enum curl_constant{
7
+ CURLOPT_URL,
8
+ CURLOPT_SSL_VERIFYHOST,
9
+ CURLOPT_SSL_VERIFYPEER
10
+ };
11
+
12
+ CURL *curl_easy_init ();
13
+ void curl_easy_cleanup (CURL *handle);
14
+ void curl_easy_perform (CURL *handle);
15
+ void curl_easy_setopt (CURL *handle, curl_constant param, int p);
16
+ void curl_easy_setopt (CURL *handle, curl_constant param, char * p);
17
+ }
5
18
6
- using namespace std ;
7
19
8
- string host = " codeql.com"
20
+ using namespace std ;
21
+ char host[] = " codeql.com" ;
9
22
10
23
void bad (void ) {
11
- std::unique_ptr<CURL, void (*)(CURL*)> curl =
12
- std::unique_ptr<CURL, void (*)(CURL*)>(curl_easy_init (), curl_easy_cleanup);
24
+ std::unique_ptr<CURL> curl = std::unique_ptr<CURL>(curl_easy_init ());
13
25
curl_easy_setopt (curl.get (), CURLOPT_SSL_VERIFYPEER, 0 );
14
26
curl_easy_setopt (curl.get (), CURLOPT_SSL_VERIFYHOST, 0 );
15
- curl_easy_setopt (curl.get (), CURLOPT_URL, host. c_str () );
16
- curl_easy_perform (curl.get ());
27
+ curl_easy_setopt (curl.get (), CURLOPT_URL, host);
28
+ curl_easy_perform (curl.get ());
17
29
}
18
30
19
31
void good (void ) {
20
- std::unique_ptr<CURL, void (*)(CURL*)> curl =
21
- std::unique_ptr<CURL, void (*)(CURL*)>(curl_easy_init (), curl_easy_cleanup);
32
+ std::unique_ptr<CURL> curl = std::unique_ptr<CURL>(curl_easy_init ());
22
33
curl_easy_setopt (curl.get (), CURLOPT_SSL_VERIFYPEER, 2 );
23
34
curl_easy_setopt (curl.get (), CURLOPT_SSL_VERIFYHOST, 2 );
24
- curl_easy_setopt (curl.get (), CURLOPT_URL, host. c_str () );
25
- curl_easy_perform (curl.get ());
35
+ curl_easy_setopt (curl.get (), CURLOPT_URL, host);
36
+ curl_easy_perform (curl.get ());
26
37
}
27
38
28
39
int main (int c, char ** argv){
29
- bad ();
30
- good ();
31
- }
40
+ bad ();
41
+ good ();
42
+ }
43
+
0 commit comments