I experienced a buffer overrun exception in c-ares on Windows and
tracked it down to be an error in the calculation of the 'left' variable
in get_iphlpapi_dns_info().
I changed the variable type of 'left' to a _signed_ type because of the
subtraction arithmetic; not sure if a long is the best choice
When using Sun C compiler the preprocessor somehow inserts an extra space
in front of replaced symbol, breaking CURL_CHECK_DEF macro. To workaround
this, macro CURL_CHECK_DEF now ignores all leading whitespace in front of
symbol substitution result.
The CHANGES file is now generated automatically with 'git2changes.pl',
invoked by the maketgz script which is used to build release archives.
The former human edited CHANGES file was renamed to CHANGES.0 in git.
A more thorough test is done now in order to determine visibility attribute
usability, given that some compilers don't support visibility attribute on
all configurations.
Added "!defined(_WS2DEF_)" since Watcom doesn't have
a per type guard for the typedefs 'CSADDR_INFO' (that MingW has) or
'SOCKET_ADDRESS' (that MSVC has). But we can use the header-guard for
<ws2def.h> instead.
* The 'NTDDI_VERSION' needs to be raised to 0x05010000
in order for SOCKADDR_STORAGE etc. to be typedefed.
* Replaced '-dUSE_WATT32' with '-dWATT32'.
* Added $(DEMOS) to the 'all' target and removed the 'demos'
target to be consistent with e.g. Makefile.msvc etc.
* 'ENABLE_IPV6' is no longer used. Hence removed the '%use_ipv6' construct.
* object-file order seems to be important (Watcom v.19). Hence
'ares_getopt.obj' must be put after the .obj that references getopt().
Add CARES_CHECK_COMPILER as a requirement.
Ensure macro does nothing unless GNU_C or CLANG compiler is used.
This should allow usage of this macro in unforeseen placements.