static int GetDefaultLocaleMask(TCascStorage * hs, PQUERY_KEY pTagsString) { char * szTagEnd = (char *)pTagsString->pbData + pTagsString->cbData; char * szTagPtr = (char *)pTagsString->pbData; char * szNext; DWORD dwLocaleMask = 0; while(szTagPtr < szTagEnd) { // Get the next part szNext = strchr(szTagPtr, ' '); if(szNext != NULL) *szNext++ = 0; // Check whether the current tag is a language identifier dwLocaleMask = dwLocaleMask | GetLocaleMask(szTagPtr); // Get the next part if(szNext == NULL) break; // Skip spaces while(szNext < szTagEnd && szNext[0] == ' ') szNext++; szTagPtr = szNext; } hs->dwDefaultLocale = dwLocaleMask; return ERROR_SUCCESS; }
static int GetDefaultLocaleMask(TCascStorage * hs, PQUERY_KEY pTagsString) { char * szTagEnd = (char *)pTagsString->pbData + pTagsString->cbData; char * szTagPtr = (char *)pTagsString->pbData; DWORD dwLocaleMask = 0; while(szTagPtr < szTagEnd) { // Could this be a locale string? if((szTagPtr + 4) <= szTagEnd && (szTagPtr[4] == ',' || szTagPtr[4] == ' ')) { // Check whether the current tag is a language identifier dwLocaleMask = dwLocaleMask | GetLocaleMask(szTagPtr); szTagPtr += 4; } else { szTagPtr++; } } hs->dwDefaultLocale = dwLocaleMask; return ERROR_SUCCESS; }