Reviewed-by: Liming Gao <[email protected]>

> -----Original Message-----
> From: edk2-devel [mailto:[email protected]] On Behalf Of
> Yonghong Zhu
> Sent: Tuesday, August 02, 2016 7:32 PM
> To: [email protected]
> Cc: Felix <[email protected]>; Gao, Liming <[email protected]>
> Subject: [edk2] [Patch] BaseTools: Allow string token identifier to use lower
> case letters
> 
> This patch is to align the code behavior with UNI spec that string token
> identifier can use upper case and lower case letters.
> 
> Cc: Liming Gao <[email protected]>
> Cc: Felix <[email protected]>
> Contributed-under: TianoCore Contribution Agreement 1.0
> Signed-off-by: Yonghong Zhu <[email protected]>
> ---
>  BaseTools/Source/Python/AutoGen/UniClassObject.py | 12 ++++++------
>  1 file changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/BaseTools/Source/Python/AutoGen/UniClassObject.py
> b/BaseTools/Source/Python/AutoGen/UniClassObject.py
> index 183b2b2..856d19c 100644
> --- a/BaseTools/Source/Python/AutoGen/UniClassObject.py
> +++ b/BaseTools/Source/Python/AutoGen/UniClassObject.py
> @@ -346,15 +346,15 @@ class UniFileClassObject(object):
>      def GetStringObject(self, Item):
>          Language = ''
>          Value = ''
> 
>          Name = Item.split()[1]
> -        # Check the string name is the upper character
> +        # Check the string name
>          if Name != '':
> -            MatchString = re.match('[A-Z0-9_]+', Name, re.UNICODE)
> +            MatchString = re.match('^[a-zA-Z][a-zA-Z0-9_]*$', Name,
> re.UNICODE)
>              if MatchString == None or MatchString.end(0) != len(Name):
> -                EdkLogger.error('Unicode File Parser', FORMAT_INVALID, 'The 
> string
> token name %s defined in UNI file %s contains the invalid lower case
> character.' % (Name, self.File))
> +                EdkLogger.error('Unicode File Parser', FORMAT_INVALID, 'The
> string token name %s defined in UNI file %s contains the invalid character.' %
> (Name, self.File))
>          LanguageList = Item.split(u'#language ')
>          for IndexI in range(len(LanguageList)):
>              if IndexI == 0:
>                  continue
>              else:
> @@ -516,15 +516,15 @@ class UniFileClassObject(object):
>                      else:
>                          IndexI = IndexJ
>                          break
>                  # Value = Value.replace(u'\r\n', u'')
>                  Language = GetLanguageCode(Language, self.IsCompatibleMode,
> self.File)
> -                # Check the string name is the upper character
> +                # Check the string name
>                  if not self.IsCompatibleMode and Name != '':
> -                    MatchString = re.match('[A-Z0-9_]+', Name, re.UNICODE)
> +                    MatchString = re.match('^[a-zA-Z][a-zA-Z0-9_]*$', Name,
> re.UNICODE)
>                      if MatchString == None or MatchString.end(0) != 
> len(Name):
> -                        EdkLogger.error('Unicode File Parser', 
> FORMAT_INVALID, 'The
> string token name %s defined in UNI file %s contains the invalid lower case
> character.' % (Name, self.File))
> +                        EdkLogger.error('Unicode File Parser', 
> FORMAT_INVALID, 'The
> string token name %s defined in UNI file %s contains the invalid character.' %
> (Name, self.File))
>                  self.AddStringToList(Name, Language, Value)
>                  continue
> 
>              #
>              # Get string def information format 2 as below
> --
> 2.6.1.windows.1
> 
> _______________________________________________
> edk2-devel mailing list
> [email protected]
> https://lists.01.org/mailman/listinfo/edk2-devel
_______________________________________________
edk2-devel mailing list
[email protected]
https://lists.01.org/mailman/listinfo/edk2-devel

Reply via email to