Git init
[external/curl.git] / tests / libtest / lib562.c
1 /*****************************************************************************
2  *                                  _   _ ____  _
3  *  Project                     ___| | | |  _ \| |
4  *                             / __| | | | |_) | |
5  *                            | (__| |_| |  _ <| |___
6  *                             \___|\___/|_| \_\_____|
7  *
8  */
9
10 #include "test.h"
11
12 #ifdef HAVE_SYS_SOCKET_H
13 #include <sys/socket.h>
14 #endif
15 #ifdef HAVE_SYS_TYPES_H
16 #include <sys/types.h>
17 #endif
18 #ifdef HAVE_SYS_STAT_H
19 #include <sys/stat.h>
20 #endif
21 #ifdef HAVE_FCNTL_H
22 #include <fcntl.h>
23 #endif
24
25 #ifdef HAVE_UNISTD_H
26 #include <unistd.h>
27 #endif
28
29 #include "memdebug.h"
30
31 /*
32  * From "KNOWN_BUGS" April 2009:
33
34  59. If the CURLOPT_PORT option is used on an FTP URL like
35  "ftp://example.com/file;type=A" the ";type=A" is stripped off.
36
37  */
38
39 int test(char *URL)
40 {
41   CURL *curl;
42   CURLcode res = CURLE_OK;
43
44   if (curl_global_init(CURL_GLOBAL_ALL) != CURLE_OK) {
45     fprintf(stderr, "curl_global_init() failed\n");
46     return TEST_ERR_MAJOR_BAD;
47   }
48
49   /* get a curl handle */
50   if ((curl = curl_easy_init()) == NULL) {
51     fprintf(stderr, "curl_easy_init() failed\n");
52     curl_global_cleanup();
53     return TEST_ERR_MAJOR_BAD;
54   }
55
56   /* enable verbose */
57   test_setopt(curl, CURLOPT_VERBOSE, 1L);
58
59   /* set port number */
60   test_setopt(curl, CURLOPT_PORT, strtol(libtest_arg2, NULL, 10));
61
62   /* specify target */
63   test_setopt(curl,CURLOPT_URL, URL);
64
65   /* Now run off and do what you've been told! */
66   res = curl_easy_perform(curl);
67
68 test_cleanup:
69
70   curl_easy_cleanup(curl);
71   curl_global_cleanup();
72
73   return res;
74 }