in src/win32/dt_win32.c [424:447]
static int GetTimeZoneInformationByName(DYNAMIC_TIME_ZONE_INFORMATION *ptzi, const char szStandardName[])
{
size_t subKeySize = 0;
char *tszSubkey = NULL;
if (ptzi == NULL || szStandardName == NULL) {
return EXIT_FAILURE;
}
subKeySize = strlen(REG_TIME_ZONES) + strlen(szStandardName) + 1;
tszSubkey = (char *)malloc(subKeySize);
memset(tszSubkey, 0, subKeySize );
memset(ptzi, 0, sizeof(DYNAMIC_TIME_ZONE_INFORMATION));
snprintf(tszSubkey, subKeySize, "%s%s", REG_TIME_ZONES, szStandardName);
if (getTZIfromRegistry(tszSubkey, REG_TZI, ptzi, szStandardName) != EXIT_SUCCESS) {
return EXIT_FAILURE;
}
free(tszSubkey);
return EXIT_SUCCESS;
}