File: errors.ml

package info (click to toggle)
ocurl 0.8.1-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 912 kB
  • sloc: ansic: 3,674; ml: 2,577; makefile: 203; sh: 169
file content (110 lines) | stat: -rw-r--r-- 3,072 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
let all = [
  "CURLE_OK";
  "CURLE_UNSUPPORTED_PROTOCOL";
  "CURLE_FAILED_INIT";
  "CURLE_URL_MALFORMAT";
  "CURLE_URL_MALFORMAT_USER";
  "CURLE_COULDNT_RESOLVE_PROXY";
  "CURLE_COULDNT_RESOLVE_HOST";
  "CURLE_COULDNT_CONNECT";
  "CURLE_FTP_WEIRD_SERVER_REPLY";
  "CURLE_FTP_ACCESS_DENIED";
  "CURLE_FTP_USER_PASSWORD_INCORRECT";
  "CURLE_FTP_WEIRD_PASS_REPLY";
  "CURLE_FTP_WEIRD_USER_REPLY";
  "CURLE_FTP_WEIRD_PASV_REPLY";
  "CURLE_FTP_WEIRD_227_FORMAT";
  "CURLE_FTP_CANT_GET_HOST";
  "CURLE_FTP_CANT_RECONNECT";
  "CURLE_FTP_COULDNT_SET_BINARY";
  "CURLE_PARTIAL_FILE";
  "CURLE_FTP_COULDNT_RETR_FILE";
  "CURLE_FTP_WRITE_ERROR";
  "CURLE_FTP_QUOTE_ERROR";
  "CURLE_HTTP_RETURNED_ERROR";
  "CURLE_WRITE_ERROR";
  "CURLE_MALFORMAT_USER";
  "CURLE_FTP_COULDNT_STOR_FILE";
  "CURLE_READ_ERROR";
  "CURLE_OUT_OF_MEMORY";
  "CURLE_OPERATION_TIMEOUTED";
  "CURLE_FTP_COULDNT_SET_ASCII";
  "CURLE_FTP_PORT_FAILED";
  "CURLE_FTP_COULDNT_USE_REST";
  "CURLE_FTP_COULDNT_GET_SIZE";
  "CURLE_HTTP_RANGE_ERROR";
  "CURLE_HTTP_POST_ERROR";
  "CURLE_SSL_CONNECT_ERROR";
  "CURLE_BAD_DOWNLOAD_RESUME";
  "CURLE_FILE_COULDNT_READ_FILE";
  "CURLE_LDAP_CANNOT_BIND";
  "CURLE_LDAP_SEARCH_FAILED";
  "CURLE_LIBRARY_NOT_FOUND";
  "CURLE_FUNCTION_NOT_FOUND";
  "CURLE_ABORTED_BY_CALLBACK";
  "CURLE_BAD_FUNCTION_ARGUMENT";
  "CURLE_BAD_CALLING_ORDER";
  "CURLE_INTERFACE_FAILED";
  "CURLE_BAD_PASSWORD_ENTERED";
  "CURLE_TOO_MANY_REDIRECTS";
  "CURLE_UNKNOWN_TELNET_OPTION";
  "CURLE_TELNET_OPTION_SYNTAX";
  "CURLE_SSL_PEER_CERTIFICATE";
  "CURLE_GOT_NOTHING";
  "CURLE_SSL_ENGINE_NOTFOUND";
  "CURLE_SSL_ENGINE_SETFAILED";
  "CURLE_SEND_ERROR";
  "CURLE_RECV_ERROR";
  "CURLE_SHARE_IN_USE";
  "CURLE_SSL_CERTPROBLEM";
  "CURLE_SSL_CIPHER";
  "CURLE_SSL_CACERT";
  "CURLE_BAD_CONTENT_ENCODING";
  "CURLE_LDAP_INVALID_URL";
  "CURLE_FILESIZE_EXCEEDED";
  "CURLE_FTP_SSL_FAILED";
  "CURLE_SEND_FAIL_REWIND";
  "CURLE_SSL_ENGINE_INITFAILED";
  "CURLE_LOGIN_DENIED";
  "CURLE_TFTP_NOTFOUND";
  "CURLE_TFTP_PERM";
  "CURLE_REMOTE_DISK_FULL";
  "CURLE_TFTP_ILLEGAL";
  "CURLE_TFTP_UNKNOWNID";
  "CURLE_REMOTE_FILE_EXISTS";
  "CURLE_TFTP_NOSUCHUSER";
  "CURLE_CONV_FAILED";
  "CURLE_CONV_REQD";
  "CURLE_SSL_CACERT_BADFILE";
  "CURLE_REMOTE_FILE_NOT_FOUND";
  "CURLE_SSH";
  "CURLE_SSL_SHUTDOWN_FAILED";
  "CURLE_AGAIN";
]

let pr fmt = Printf.ksprintf print_endline fmt

let () =
  match List.tl @@ Array.to_list @@ Sys.argv with
  | [] | "c"::[] ->
    all |> List.iteri begin fun i s ->
      match s with
      | "CURLE_OK" ->
        pr "    {\"%s\", %s}," s s
      | _ ->
        pr "#if HAVE_DECL_%s" s;
        pr "#if %s != %d" s i;
        pr "#warning error code mismatch: %s != %d" s i;
        pr "#endif";
        pr "    {\"%s\", %s}," s s;
        pr "#else";
        pr "    {\"%s\", -1}," s;
        pr"#endif";
    end
  | "ml"::[] -> all |> List.iter (pr "  | %s")
  | "configure"::[] ->
    Format.set_margin 80;
    Format.open_box 0;
    all |> List.iter (function "CURLE_OK" -> () | s -> Format.printf "%s,@ " s);
    Format.close_box ();
  | _ -> failwith "bad usage"