ports/ftp/rexx-curl/files/patch-rexxcurl.c
Dmitry Marakasov 356f2dd1b2 - Resurrect ftp/rexx-curl
Rexx/CURL is an external function package providing an interface to the cURL
package. cURL is a general purpose package that allows access to any
URL-addressable resource. With Rexx/CURL you can access resources such as web
pages, ftp sites, and telnet sessions under control of your Rexx program.

WWW: http://rexxcurl.sourceforge.net/

PR:		211920
Submitted by:	bob@eager.cx
2016-08-19 13:55:56 +00:00

98 lines
4.1 KiB
C

--- rexxcurl.c.orig 2012-04-26 09:56:03 UTC
+++ rexxcurl.c
@@ -384,7 +384,9 @@ static curl_options RexxCurlOptions[] =
#if LIBCURL_VERSION_NUM >= 0x071301
{ "CERTINFO" ,CURLOPT_CERTINFO ,RXCURLOPT_LONG , NULL },
#endif
+#if 0
{ "CLOSEPOLICY" ,CURLOPT_CLOSEPOLICY ,RXCURLOPT_POLICY , NULL },
+#endif
#if LIBCURL_VERSION_NUM >= 0x070f02
{ "CONNECTONLY" ,CURLOPT_CONNECT_ONLY ,RXCURLOPT_LONG , NULL },
#endif
@@ -489,8 +491,13 @@ static curl_options RexxCurlOptions[] =
{ "GSSAPIDELEGATION",CURLOPT_GSSAPI_DELEGATION,RXCURLOPT_GSSAPI_DELEGATION , NULL },
#endif
{ "HEADER" ,CURLOPT_HEADER ,RXCURLOPT_BOOL , NULL },
+#if LIBCURL_VERSION_NUM >= 0x070907
+ { "HEADERFILE" ,CURLOPT_HEADERDATA ,RXCURLOPT_OUTFILE , NULL },
+ { "HEADERSTEM" ,CURLOPT_HEADERDATA ,RXCURLOPT_HEADERSTEM , NULL },
+#else
{ "HEADERFILE" ,CURLOPT_WRITEHEADER ,RXCURLOPT_OUTFILE , NULL },
{ "HEADERSTEM" ,CURLOPT_WRITEHEADER ,RXCURLOPT_HEADERSTEM , NULL },
+#endif
#if LIBCURL_VERSION_NUM >= 0x070a03
{ "HTTP200ALIASES" ,CURLOPT_HTTP200ALIASES ,RXCURLOPT_LIST , NULL },
#endif
@@ -517,9 +524,17 @@ static curl_options RexxCurlOptions[] =
#if LIBCURL_VERSION_NUM >= 0x070e01
{ "IGNORECONTENTLENGTH",CURLOPT_IGNORE_CONTENT_LENGTH,RXCURLOPT_LONG, NULL },
#endif
+#if LIBCURL_VERSION_NUM >= 0x070907
+ { "INFILE" ,CURLOPT_READDATA ,RXCURLOPT_INFILE , NULL },
+#else
{ "INFILE" ,CURLOPT_INFILE ,RXCURLOPT_INFILE , NULL },
+#endif
{ "INTERFACE" ,CURLOPT_INTERFACE ,RXCURLOPT_STRING , NULL },
+#if LIBCURL_VERSION_NUM >= 0x070907
+ { "INSTEM" ,CURLOPT_READDATA ,RXCURLOPT_INSTEM , NULL },
+#else
{ "INSTEM" ,CURLOPT_INFILE ,RXCURLOPT_INSTEM , NULL },
+#endif
#if LIBCURL_VERSION_NUM >= 0x070a08
{ "IPRESOLVE" ,CURLOPT_IPRESOLVE ,RXCURLOPT_IPRESOLVE , NULL },
#endif
@@ -576,8 +591,10 @@ static curl_options RexxCurlOptions[] =
#if LIBCURL_VERSION_NUM >= 0x070a02
{ "NOSIGNAL" ,CURLOPT_NOSIGNAL ,RXCURLOPT_BOOL , NULL },
#endif
- { "OUTFILE" ,CURLOPT_FILE ,RXCURLOPT_OUTFILE , NULL },
- { "OUTSTEM" ,CURLOPT_FILE ,RXCURLOPT_OUTSTEM , NULL },
+#if LIBCURL_VERSION_NUM >= 0x070907
+ { "OUTFILE" ,CURLOPT_WRITEDATA ,RXCURLOPT_OUTFILE , NULL },
+ { "OUTSTEM" ,CURLOPT_WRITEDATA ,RXCURLOPT_OUTSTEM , NULL },
+#endif
#if LIBCURL_VERSION_NUM >= 0x071301
{ "PASSWORD" ,CURLOPT_PASSWORD ,RXCURLOPT_STRING , NULL },
#endif
@@ -1269,7 +1286,7 @@ void RexxCURLSetVersionInfoConstants( Rx
valuelen = 0;
namelen = sprintf( name, "%sLIBSSH_VERSION", RxGetConstantPrefix( RxPackageGlobalData ) );
#if LIBCURL_VERSION_NUM >= 0x071001
- support = version_info->libssh_version;
+ support = (char *) version_info->libssh_version;
valuelen = (version_info->libssh_version) ? strlen( version_info->libssh_version ) : 0;
#endif
SetRexxVariable( RxPackageGlobalData, name, namelen, support, valuelen );
@@ -2273,9 +2290,10 @@ rxfunc( CurlSetopt )
SetCURLError( RxPackageGlobalData, curl_rc, curl_errors[rc] );
break;
}
+#if LIBCURL_VERSION_NUMBER > 0x070907
switch ( RexxCurlOptions[opt].number )
{
- case CURLOPT_FILE:
+ case CURLOPT_WRITEDATA:
if ( argv[2].strlength )
{
/*
@@ -2293,6 +2311,7 @@ rxfunc( CurlSetopt )
default:
break;
}
+#endif
break;
case RXCURLOPT_INFILE:
/* parameter must be the name of a file to read from or blank to turn it off */
@@ -2317,7 +2336,11 @@ rxfunc( CurlSetopt )
*/
switch ( RexxCurlOptions[opt].number )
{
+#if LIBCURL_VERSION_NUM >= 0x070907
+ case CURLOPT_READDATA:
+#else
case CURLOPT_INFILE:
+#endif
/*
* Always set the file size for the specified INFILE
*/