/** @file\r
Driver to implement English version of Unicode Collation Protocol.\r
\r
-Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+This program and the accompanying materials\r
are licensed and made available under the terms and conditions of the BSD License\r
which accompanies this distribution. The full text of the license may be found at\r
http://opensource.org/licenses/bsd-license.php\r
\r
#include "UnicodeCollationEng.h"\r
\r
-CHAR8 mEngUpperMap[0x100];\r
-CHAR8 mEngLowerMap[0x100];\r
-CHAR8 mEngInfoMap[0x100];\r
+CHAR8 mEngUpperMap[MAP_TABLE_SIZE];\r
+CHAR8 mEngLowerMap[MAP_TABLE_SIZE];\r
+CHAR8 mEngInfoMap[MAP_TABLE_SIZE];\r
\r
CHAR8 mOtherChars[] = {\r
'0',\r
'\0'\r
};\r
\r
-STATIC EFI_HANDLE mHandle = NULL;\r
+EFI_HANDLE mHandle = NULL;\r
\r
//\r
// EFI Unicode Collation Protocol supporting ISO 639-2 language code\r
};\r
\r
//\r
-// EFI Unicode Collation2 Protocol supporting RFC 3066 language code\r
+// EFI Unicode Collation2 Protocol supporting RFC 4646 language code\r
//\r
GLOBAL_REMOVE_IF_UNREFERENCED EFI_UNICODE_COLLATION_PROTOCOL Unicode2Eng = {\r
EngStriColl,\r
//\r
// Initialize mapping tables for the supported languages\r
//\r
- for (Index = 0; Index < 0x100; Index++) {\r
+ for (Index = 0; Index < MAP_TABLE_SIZE; Index++) {\r
mEngUpperMap[Index] = (CHAR8) Index;\r
mEngLowerMap[Index] = (CHAR8) Index;\r
mEngInfoMap[Index] = 0;\r
}\r
}\r
\r
- for (Index = 0; mOtherChars[Index]; Index++) {\r
+ for (Index = 0; mOtherChars[Index] != 0; Index++) {\r
Index2 = mOtherChars[Index];\r
mEngInfoMap[Index2] |= CHAR_FAT_VALID;\r
}\r
IN CHAR16 *Str2\r
)\r
{\r
- while (*Str1) {\r
- if (ToUpper (*Str1) != ToUpper (*Str2)) {\r
+ while (*Str1 != 0) {\r
+ if (TO_UPPER (*Str1) != TO_UPPER (*Str2)) {\r
break;\r
}\r
\r
Str2 += 1;\r
}\r
\r
- return ToUpper (*Str1) - ToUpper (*Str2);\r
+ return TO_UPPER (*Str1) - TO_UPPER (*Str2);\r
}\r
\r
\r
IN OUT CHAR16 *Str\r
)\r
{\r
- while (*Str) {\r
- *Str = ToLower (*Str);\r
+ while (*Str != 0) {\r
+ *Str = TO_LOWER (*Str);\r
Str += 1;\r
}\r
}\r
IN OUT CHAR16 *Str\r
)\r
{\r
- while (*Str) {\r
- *Str = ToUpper (*Str);\r
+ while (*Str != 0) {\r
+ *Str = TO_UPPER (*Str);\r
Str += 1;\r
}\r
}\r
//\r
// End of pattern. If end of string, TRUE match\r
//\r
- if (*String) {\r
+ if (*String != 0) {\r
return FALSE;\r
} else {\r
return TRUE;\r
//\r
// Match zero or more chars\r
//\r
- while (*String) {\r
+ while (*String != 0) {\r
if (EngMetaiMatch (This, String, Pattern)) {\r
return TRUE;\r
}\r
//\r
// Match any one char\r
//\r
- if (!*String) {\r
+ if (*String == 0) {\r
return FALSE;\r
}\r
\r
// Match char set\r
//\r
CharC = *String;\r
- if (!CharC) {\r
+ if (CharC == 0) {\r
//\r
// syntax problem\r
//\r
\r
Index3 = 0;\r
CharP = *Pattern++;\r
- while (CharP) {\r
+ while (CharP != 0) {\r
if (CharP == ']') {\r
return FALSE;\r
}\r
return FALSE;\r
}\r
\r
- if (ToUpper (CharC) >= ToUpper (Index3) && ToUpper (CharC) <= ToUpper (CharP)) {\r
+ if (TO_UPPER (CharC) >= TO_UPPER (Index3) && TO_UPPER (CharC) <= TO_UPPER (CharP)) {\r
//\r
// if in range, it's a match\r
//\r
}\r
\r
Index3 = CharP;\r
- if (ToUpper (CharC) == ToUpper (CharP)) {\r
+ if (TO_UPPER (CharC) == TO_UPPER (CharP)) {\r
//\r
// if char matches\r
//\r
//\r
// skip to end of match char set\r
//\r
- while (CharP && CharP != ']') {\r
+ while ((CharP != 0) && (CharP != ']')) {\r
CharP = *Pattern;\r
Pattern += 1;\r
}\r
\r
default:\r
CharC = *String;\r
- if (ToUpper (CharC) != ToUpper (CharP)) {\r
+ if (TO_UPPER (CharC) != TO_UPPER (CharP)) {\r
return FALSE;\r
}\r
\r
//\r
// No DBCS issues, just expand and add null terminate to end of string\r
//\r
- while (*Fat && FatSize) {\r
+ while ((*Fat != 0) && (FatSize != 0)) {\r
*String = *Fat;\r
String += 1;\r
Fat += 1;\r
BOOLEAN SpecialCharExist;\r
\r
SpecialCharExist = FALSE;\r
- while (*String && FatSize) {\r
+ while ((*String != 0) && (FatSize != 0)) {\r
//\r
// Skip '.' or ' ' when making a fat name\r
//\r
if (*String != '.' && *String != ' ') {\r
//\r
// If this is a valid fat char, move it.\r
- // Otherwise, move a '_' and flag the fact that the name needs an Lfn\r
+ // Otherwise, move a '_' and flag the fact that the name needs a long file name.\r
//\r
- if (*String < 0x100 && (mEngInfoMap[*String] & CHAR_FAT_VALID)) {\r
+ if (*String < MAP_TABLE_SIZE && ((mEngInfoMap[*String] & CHAR_FAT_VALID) != 0)) {\r
*Fat = mEngUpperMap[*String];\r
} else {\r
*Fat = '_';\r