[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GNUnet-SVN] [gnurl] 52/163: os400: implement mime api EBCDIC wrappers
From: |
gnunet |
Subject: |
[GNUnet-SVN] [gnurl] 52/163: os400: implement mime api EBCDIC wrappers |
Date: |
Sun, 05 Aug 2018 12:36:18 +0200 |
This is an automated email from the git hooks/post-receive script.
ng0 pushed a commit to branch master
in repository gnurl.
commit c2dc7d9c6cce8881d5e5458c5b75f694bce0335d
Author: Patrick Monnerat <address@hidden>
AuthorDate: Wed May 30 00:38:37 2018 +0200
os400: implement mime api EBCDIC wrappers
Also sync ILE/RPG binding to define the new functions.
---
packages/OS400/ccsidcurl.c | 77 ++++++++++++++++++++++++++++++
packages/OS400/ccsidcurl.h | 20 +++++++-
packages/OS400/curl.inc.in | 114 +++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 210 insertions(+), 1 deletion(-)
diff --git a/packages/OS400/ccsidcurl.c b/packages/OS400/ccsidcurl.c
index 0ca6d6866..f442efa5a 100644
--- a/packages/OS400/ccsidcurl.c
+++ b/packages/OS400/ccsidcurl.c
@@ -1345,3 +1345,80 @@ curl_pushheader_byname_ccsid(struct curl_pushheaders *h,
const char *header,
return d;
}
+
+static CURLcode
+mime_string_call(curl_mimepart *part, const char *string, unsigned int ccsid,
+ CURLcode (*mimefunc)(curl_mimepart *part, const char *string))
+
+{
+ char *s = (char *) NULL;
+ CURLcode result;
+
+ if(!string)
+ return mimefunc(part, string);
+ s = dynconvert(ASCII_CCSID, string, -1, ccsid);
+ if(!s)
+ return CURLE_OUT_OF_MEMORY;
+
+ result = mimefunc(part, s);
+ free(s);
+ return result;
+}
+
+CURLcode
+curl_mime_name_ccsid(curl_mimepart *part, const char *name, unsigned int ccsid)
+
+{
+ return mime_string_call(part, name, ccsid, curl_mime_name);
+}
+
+CURLcode
+curl_mime_filename_ccsid(curl_mimepart *part,
+ const char *filename, unsigned int ccsid)
+
+{
+ return mime_string_call(part, filename, ccsid, curl_mime_filename);
+}
+
+CURLcode
+curl_mime_type_ccsid(curl_mimepart *part,
+ const char *mimetype, unsigned int ccsid)
+
+{
+ return mime_string_call(part, mimetype, ccsid, curl_mime_type);
+}
+
+CURLcode
+curl_mime_encoder_ccsid(curl_mimepart *part,
+ const char *encoding, unsigned int ccsid)
+
+{
+ return mime_string_call(part, encoding, ccsid, curl_mime_encoder);
+}
+
+CURLcode
+curl_mime_filedata_ccsid(curl_mimepart *part,
+ const char *filename, unsigned int ccsid)
+
+{
+ return mime_string_call(part, filename, ccsid, curl_mime_filedata);
+}
+
+CURLcode
+curl_mime_data_ccsid(curl_mimepart *part,
+ const char *data, size_t datasize, unsigned int ccsid)
+
+{
+ char *s = (char *) NULL;
+ CURLcode result;
+
+ if(!data)
+ return curl_mime_data(part, data, datasize);
+ s = dynconvert(ASCII_CCSID, data, datasize, ccsid);
+ if(!s)
+ return CURLE_OUT_OF_MEMORY;
+
+ result = curl_mime_data(part, s, datasize);
+ free(s);
+ return result;
+}
diff --git a/packages/OS400/ccsidcurl.h b/packages/OS400/ccsidcurl.h
index 5bd24cf36..a65dfbc2a 100644
--- a/packages/OS400/ccsidcurl.h
+++ b/packages/OS400/ccsidcurl.h
@@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
- * Copyright (C) 1998 - 2013, Daniel Stenberg, <address@hidden>, et al.
+ * Copyright (C) 1998 - 2018, Daniel Stenberg, <address@hidden>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
@@ -67,5 +67,23 @@ CURL_EXTERN char *curl_pushheader_byname_ccsid(struct
curl_pushheaders *h,
const char *header,
unsigned int ccsidin,
unsigned int ccsidout);
+CURL_EXTERN CURLcode curl_mime_name_ccsid(curl_mimepart *part,
+ const char *name,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_filename_ccsid(curl_mimepart *part,
+ const char *filename,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_type_ccsid(curl_mimepart *part,
+ const char *mimetype,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_encoder_ccsid(curl_mimepart *part,
+ const char *encoding,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_filedata_ccsid(curl_mimepart *part,
+ const char *filename,
+ unsigned int ccsid);
+CURL_EXTERN CURLcode curl_mime_data_ccsid(curl_mimepart *part,
+ const char *data, size_t datasize,
+ unsigned int ccsid);
#endif
diff --git a/packages/OS400/curl.inc.in b/packages/OS400/curl.inc.in
index 915fef7c4..1a06eca5d 100644
--- a/packages/OS400/curl.inc.in
+++ b/packages/OS400/curl.inc.in
@@ -291,6 +291,9 @@
d CURL_REDIR_POST_ALL...
d c 7
*
+ d CURL_ZERO_TERMINATED...
+ d c -1
+ *
d CURL_POLL_NONE c 0
d CURL_POLL_IN c 1
d CURL_POLL_OUT c 2
@@ -1981,6 +1984,74 @@
* Prototypes
**************************************************************************
*
+ d curl_mime_init pr * extproc('curl_mime_init')
curl_mime *
+ d easy * value
CURL *
+ *
+ d curl_mime_free pr extproc('curl_mime_free')
+ d mime * value
curl_mime *
+ *
+ d curl_mime_addpart...
+ d pr * extproc('curl_mime_addpart')
curl_mimepart *
+ d mime * value
curl_mime *
+ *
+ d curl_mime_name pr extproc('curl_mime_name')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d name * value options(*string)
+ *
+ d curl_mime_filename...
+ d pr extproc('curl_mime_filename')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d filename * value options(*string)
+ *
+ d curl_mime_type pr extproc('curl_mime_type')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d mimetype * value options(*string)
+ *
+ d curl_mime_encoder...
+ d pr extproc('curl_mime_encoder')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d encoding * value options(*string)
+ *
+ d curl_mime_data pr extproc('curl_mime_data')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d data * value options(*string)
+ d datasize 10u 0
size_t
+ *
+ d curl_mime_filedata...
+ d pr extproc('curl_mime_filedata')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d filename * value options(*string)
+ *
+ d curl_mime_data_cb...
+ d pr extproc('curl_mime_data_cb')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d datasize value like(curl_off_t)
+ d readfunc value like(curl_read_callback)
+ d seekfunc value like(curl_seek_callback)
+ d freefunc value like(curl_free_callback)
+ d arg * value
void *
+ *
+ d curl_mime_subparts...
+ d pr extproc('curl_mime_subparts')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d subparts * value
curl_mime *
+ *
+ d curl_mime_headers...
+ d pr extproc('curl_mime_headers')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d headers * value
curl_slist *
+ d take_ownership...
+ d 10i 0 value
+ *
* This procedure as a variable parameter list.
* This prototype allows use of an option array, or a single "object"
* option. Other argument lists may be implemented by alias procedure
@@ -2466,4 +2537,47 @@
d ccsidin 10u 0 value
d ccsidout 10u 0 value
*
+ d curl_mime_name_ccsid...
+ d pr extproc('curl_mime_name_ccsid')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d name * value options(*string)
+ d ccsid 10u 0 value
+ *
+ d curl_mime_filename_ccsid...
+ d pr extproc('curl_mime_filename_ccsid')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d filename * value options(*string)
+ d ccsid 10u 0 value
+ *
+ d curl_mime_type_ccsid...
+ d pr extproc('curl_mime_type_ccsid')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d mimetype * value options(*string)
+ d ccsid 10u 0 value
+ *
+ d curl_mime_encoder_ccsid...
+ d pr extproc('curl_mime_encoder_ccsid')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d encoding * value options(*string)
+ d ccsid 10u 0 value
+ *
+ d curl_mime_data_ccsid...
+ d pr extproc('curl_mime_data_ccsid')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d data * value options(*string)
+ d datasize 10u 0
size_t
+ d ccsid 10u 0 value
+ *
+ d curl_mime_filedata_ccsid...
+ d pr extproc('curl_mime_filedata_ccsid')
+ d like(CURLcode)
+ d part * value
curl_mimepart *
+ d filename * value options(*string)
+ d ccsid 10u 0 value
+ *
/endif
--
To stop receiving notification emails like this one, please contact
address@hidden
- [GNUnet-SVN] [gnurl] 54/163: curl.rc: embed manifest for correct Windows version detection, (continued)
- [GNUnet-SVN] [gnurl] 54/163: curl.rc: embed manifest for correct Windows version detection, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 51/163: setopt: add TLS 1.3 ciphersuites, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 30/163: httpauth: add support for Bearer tokens, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 55/163: libcurl-security.3: refer to URL instead of in-source markdown file, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 08/163: getinfo: add microsecond precise timers for various intervals, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 58/163: strictness: correct {infof, failf} format specifiers, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 73/163: system.h: add support for IBM xlc C compiler, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 120/163: configure: Add dependent libraries after crypto, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 85/163: Curl_debug: remove dead printhost code, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 42/163: cmake: check for getpwuid_r, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 52/163: os400: implement mime api EBCDIC wrappers,
gnunet <=
- [GNUnet-SVN] [gnurl] 110/163: ConnectionExists: make sure conn->data is set when "taking" a connection, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 104/163: multi: fix memory leak when stopped during name resolve, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 83/163: schannel: support selecting ciphers, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 68/163: build: remove the Borland specific makefiles, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 45/163: psl: use latest psl and refresh it periodically, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 71/163: spelling fixes, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 64/163: fnmatch: use the system one if available, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 90/163: mk-ca-bundle.pl: make -u delete certdata.txt if found not changed, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 142/163: KNOWN_BUGS: Stick to same family over SOCKS proxy, gnunet, 2018/08/05
- [GNUnet-SVN] [gnurl] 96/163: maketgz: fix sed issues on OSX, gnunet, 2018/08/05