12880df2609eba09b555ca37be04b6ad89290c765Tom Hudson/* 22880df2609eba09b555ca37be04b6ad89290c765Tom Hudson * Copyright 2013 Google Inc. 32880df2609eba09b555ca37be04b6ad89290c765Tom Hudson * 42880df2609eba09b555ca37be04b6ad89290c765Tom Hudson * Use of this source code is governed by a BSD-style license that can be 52880df2609eba09b555ca37be04b6ad89290c765Tom Hudson * found in the LICENSE file. 62880df2609eba09b555ca37be04b6ad89290c765Tom Hudson */ 707a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com#include "windows.h" 807a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com#include "stdio.h" 907a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com 1007a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com#define BUFFER_SIZE 512 1107a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.comBOOL CALLBACK MyFuncLocaleEx(LPWSTR pStr, DWORD dwFlags, LPARAM lparam) { 1207a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com WCHAR wcBuffer[BUFFER_SIZE]; 1307a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com int bufferSize; 1407a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com 1507a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com bufferSize = GetLocaleInfoEx(pStr, LOCALE_SENGLANGUAGE, wcBuffer, BUFFER_SIZE); 1607a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com if (bufferSize == 0) { 1707a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com wprintf(L"Locale %s had error %d\n", pStr, GetLastError()); 1807a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com return (TRUE); 1907a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com } 2007a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com 212880df2609eba09b555ca37be04b6ad89290c765Tom Hudson LCID lcid = LocaleNameToLCID(pStr, nullptr); 2207a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com if (lcid == 0) { 2307a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com wprintf(L"Error %d getting LCID\n", GetLastError()); 2407a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com return (TRUE); 2507a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com } 26041e2dbc0614e3341e1349fd0e962744a45b6194skia.committer@gmail.com 2707a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com if (lcid > 0x8000) { 2807a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com wprintf(L"//"); 2907a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com } 3007a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com wprintf(L" { 0x%.4x, \"%s\" }, //%s\n", lcid, pStr, wcBuffer); 3107a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com 3207a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com return (TRUE); 3307a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com} 3407a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com 3507a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.comint main(int argc, wchar_t* argv[]) { 362880df2609eba09b555ca37be04b6ad89290c765Tom Hudson EnumSystemLocalesEx(MyFuncLocaleEx, LOCALE_ALL, nullptr, nullptr); 3707a69f848cd6e28e0870ac9eeeba2d05f8e8d8bebungeman@google.com} 38