|
bagder: curl/lib easy.c, 1.72, 1.73 url.c, 1.466, 1.467 url.h, 1.22, 1.23: msg#00022web.curl.cvs
Update of /cvsroot/curl/curl/lib In directory labb:/tmp/cvs-serv5547 Modified Files: easy.c url.c url.h Log Message: Simplified the code within curl_easy_perform() that calls Curl_perform(). Pointed out by Bjorn Reese. Index: url.h =================================================================== RCS file: /cvsroot/curl/curl/lib/url.h,v retrieving revision 1.22 retrieving revision 1.23 diff -u -d -r1.22 -r1.23 --- url.h 7 Apr 2005 15:27:14 -0000 1.22 +++ url.h 17 Jul 2005 12:44:11 -0000 1.23 @@ -23,12 +23,15 @@ * $Id$ ***************************************************************************/ +#include <stdarg.h> /* to make sure we have ap_list */ + /* * Prototypes for library-wide functions provided by url.c */ CURLcode Curl_open(struct SessionHandle **curl); -CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...); +CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, + va_list arg); CURLcode Curl_close(struct SessionHandle *data); /* opposite of curl_open() */ CURLcode Curl_connect(struct SessionHandle *, struct connectdata **, bool *async, bool *protocol_connect); Index: url.c =================================================================== RCS file: /cvsroot/curl/curl/lib/url.c,v retrieving revision 1.466 retrieving revision 1.467 diff -u -d -r1.466 -r1.467 --- url.c 12 Jul 2005 18:15:34 -0000 1.466 +++ url.c 17 Jul 2005 12:44:11 -0000 1.467 @@ -372,14 +372,12 @@ return CURLE_OK; } -CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, ...) +CURLcode Curl_setopt(struct SessionHandle *data, CURLoption option, + va_list param) { - va_list param; char *argptr; CURLcode result = CURLE_OK; - va_start(param, option); - switch(option) { case CURLOPT_DNS_CACHE_TIMEOUT: data->set.dns_cache_timeout = va_arg(param, int); Index: easy.c =================================================================== RCS file: /cvsroot/curl/curl/lib/easy.c,v retrieving revision 1.72 retrieving revision 1.73 diff -u -d -r1.72 -r1.73 --- easy.c 7 Apr 2005 15:27:13 -0000 1.72 +++ easy.c 17 Jul 2005 12:44:11 -0000 1.73 @@ -308,49 +308,19 @@ * curl_easy_setopt() is the external interface for setting options on an * easy handle. */ -typedef int (*func_T)(void); + CURLcode curl_easy_setopt(CURL *curl, CURLoption tag, ...) { va_list arg; - func_T param_func = (func_T)0; - long param_long = 0; - void *param_obj = NULL; - curl_off_t param_offset = 0; struct SessionHandle *data = curl; - CURLcode ret=CURLE_FAILED_INIT; + CURLcode ret; if(!curl) return CURLE_BAD_FUNCTION_ARGUMENT; va_start(arg, tag); - /* PORTING NOTE: - Object pointers can't necessarily be casted to function pointers and - therefore we need to know what type it is and read the correct type - at once. This should also correct problems with different sizes of - the types. - */ - - if(tag < CURLOPTTYPE_OBJECTPOINT) { - /* This is a LONG type */ - param_long = va_arg(arg, long); - ret = Curl_setopt(data, tag, param_long); - } - else if(tag < CURLOPTTYPE_FUNCTIONPOINT) { - /* This is a object pointer type */ - param_obj = va_arg(arg, void *); - ret = Curl_setopt(data, tag, param_obj); - } - else if(tag < CURLOPTTYPE_OFF_T) { - /* This is a function pointer type */ - param_func = va_arg(arg, func_T ); - ret = Curl_setopt(data, tag, param_func); - } - else { - /* This is a curl_off_t type */ - param_offset = va_arg(arg, curl_off_t); - ret = Curl_setopt(data, tag, param_offset); - } + ret = Curl_setopt(data, tag, arg); va_end(arg); return ret; _______________________________________________ http://cool.haxx.se/mailman/listinfo/curl-commits |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | bagder: curl RELEASE-NOTES,1.267,1.268: 00022, cvs |
|---|---|
| Next by Date: | danf: curl acinclude.m4,1.51,1.52: 00022, cvs |
| Previous by Thread: | bagder: curl RELEASE-NOTES,1.267,1.268i: 00022, cvs |
| Next by Thread: | danf: curl acinclude.m4,1.51,1.52: 00022, cvs |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |