Intentionally avoid checking if the address of SystemFunction036, a.k.a.

RtlGenRandom, has been located or not. This function is only available on
WinXP and later. When unavailable c-ares uses portable rand() function.
This commit is contained in:
Yang Tse 2009-05-18 01:25:20 +00:00
parent 0cf8d4f8e8
commit a450efb483
3 changed files with 7 additions and 9 deletions

View File

@ -98,7 +98,6 @@ extern "C" {
#define ARES_ELOADIPHLPAPI 21
#define ARES_ELOADADVAPI32 22
#define ARES_EADDRGetNetworkParams 23
#define ARES_EADDRSYSTEMFUNCTION036 24
/* Flag values */
#define ARES_FLAG_USEVC (1 << 0)

View File

@ -51,12 +51,12 @@ static int ares_win32_init(void)
fpSystemFunction036 = (fpSystemFunction036_t)
GetProcAddress(hnd_advapi32, "SystemFunction036");
if (!fpSystemFunction036)
{
FreeLibrary(hnd_advapi32);
FreeLibrary(hnd_iphlpapi);
return ARES_EADDRSYSTEMFUNCTION036;
}
/*
* Intentionally avoid checking if the address of SystemFunction036, a.k.a.
* RtlGenRandom, has been located or not. This function is only available on
* WinXP and later. When unavailable c-ares uses portable rand() function.
*/
#endif
return ARES_SUCCESS;

View File

@ -46,8 +46,7 @@ const char *ares_strerror(int code)
"Illegal hints flags specified",
"Error loading iphlpapi.dll",
"Error loading advapi32.dll",
"Unknown GetNetworkParams function address",
"Unknown SystemFunction036 function address"
"Could not find GetNetworkParams function"
};
if(code >= 0 && code < (int)(sizeof(errtext) / sizeof(*errtext)))