- Added a macro for curl_easy_setopt() that accepts three arguments and simply

does nothing with them, just to make sure libcurl users always use three
  arguments to this function. Due to its use of ... for the third argument, it
  is otherwise hard to detect abuse.
This commit is contained in:
Daniel Stenberg 2008-03-11 13:14:16 +00:00
parent 9b48991ebd
commit ecf1c6ca5d
3 changed files with 16 additions and 1 deletions

View file

@ -1792,8 +1792,16 @@ CURL_EXTERN CURLcode curl_easy_pause(CURL *handle, int bitmask);
#include "multi.h"
/* the typechecker doesn't work in C++ (yet) */
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && !defined(__cplusplus)
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 3)) && \
!defined(__cplusplus)
#include "typecheck-gcc.h"
#else
#if defined(__STDC__) && (__STDC__ >= 1)
/* This preprocessor magic that replaces a call with the exact same call is
only done to make sure application authors use exactly three arguments
to this function. */
#define curl_easy_setopt(handle,opt,param) curl_easy_setopt(handle,opt,param)
#endif /* __STDC__ >= 1 */
#endif /* gcc >= 4.3 && !__cplusplus */
#endif /* __CURL_CURL_H */