aboutsummaryrefslogtreecommitdiff
path: root/packages/OS400/ccsidcurl.c
diff options
context:
space:
mode:
authorPatrick Monnerat <patrick@monnerat.net>2018-11-05 15:37:23 +0100
committerPatrick Monnerat <patrick@monnerat.net>2018-11-05 15:37:23 +0100
commita77b640cc0ddace57758946881294db6f03db16e (patch)
tree68d64e26ddff18f2da490282a88a0824292d02b1 /packages/OS400/ccsidcurl.c
parent5bfaa86ceb3c2a9ac474a928e748c4a86a703b33 (diff)
OS400: add URL API ccsid wrappers and sync ILE/RPG bindings
Diffstat (limited to 'packages/OS400/ccsidcurl.c')
-rw-r--r--packages/OS400/ccsidcurl.c46
1 files changed, 45 insertions, 1 deletions
diff --git a/packages/OS400/ccsidcurl.c b/packages/OS400/ccsidcurl.c
index af53f6761..b1d3ba845 100644
--- a/packages/OS400/ccsidcurl.c
+++ b/packages/OS400/ccsidcurl.c
@@ -1125,7 +1125,7 @@ curl_easy_setopt_ccsid(CURL * curl, CURLoption tag, ...)
if(testwarn) {
testwarn = 0;
- if((int) STRING_LASTZEROTERMINATED != (int) STRING_TARGET + 1 ||
+ if((int) STRING_LASTZEROTERMINATED != (int) STRING_DOH + 1 ||
(int) STRING_LAST != (int) STRING_COPYPOSTFIELDS + 1)
curl_mfprintf(stderr,
"*** WARNING: curl_easy_setopt_ccsid() should be reworked ***\n");
@@ -1147,6 +1147,7 @@ curl_easy_setopt_ccsid(CURL * curl, CURLoption tag, ...)
case CURLOPT_CUSTOMREQUEST:
case CURLOPT_DEFAULT_PROTOCOL:
case CURLOPT_DNS_SERVERS:
+ case CURLOPT_DOH_URL:
case CURLOPT_EGDSOCKET:
case CURLOPT_ENCODING:
case CURLOPT_FTPPORT:
@@ -1424,3 +1425,46 @@ curl_mime_data_ccsid(curl_mimepart *part,
free(s);
return result;
}
+
+CURLUcode
+curl_url_get_ccsid(CURLU *handle, CURLUPart what, char **part,
+ unsigned int flags, unsigned int ccsid)
+
+{
+ char *s = (char *)NULL;
+ CURLUcode result;
+
+ if(!part)
+ return CURLUE_BAD_PARTPOINTER;
+
+ *part = (char *)NULL;
+ result = curl_url_get(handle, what, &s, flags);
+ if(result == CURLUE_OK) {
+ if(s) {
+ *part = dynconvert(ccsid, s, -1, ccsid, ASCII_CCSID);
+ if(!*part)
+ result = CURLUE_OUT_OF_MEMORY;
+ }
+ if(s)
+ free(s);
+ return result;
+}
+
+CURLUcode
+curl_url_set_ccsid(CURLU *handle, CURLUPart what, const char *part,
+ unsigned int flags, unsigned int ccsid)
+
+{
+ char *s = (char *)NULL;
+ CURLUcode result;
+
+ if(part) {
+ s = dynconvert(ASCII_CCSID, part, -1, ccsid);
+ if(!s)
+ return CURLUE_OUT_OF_MEMORY;
+ }
+ result = curl_url_set(handle, what, s, flags);
+ if(s)
+ free(s);
+ return result;
+}