Revision: 18336
http://sourceforge.net/p/edk2/code/18336
Author: dandanbi
Date: 2015-08-27 08:19:40 +0000 (Thu, 27 Aug 2015)
Log Message:
-----------
BaseTools:To generate string default type correctly in VfrCompiler
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Dandan Bi <[email protected]>
Reviewed-by: Liming Gao <[email protected]>
Modified Paths:
--------------
trunk/edk2/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
trunk/edk2/BaseTools/Source/C/VfrCompile/VfrSyntax.g
Modified: trunk/edk2/BaseTools/Source/C/VfrCompile/VfrFormPkg.h
===================================================================
--- trunk/edk2/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2015-08-27
05:27:51 UTC (rev 18335)
+++ trunk/edk2/BaseTools/Source/C/VfrCompile/VfrFormPkg.h 2015-08-27
08:19:40 UTC (rev 18336)
@@ -604,6 +604,7 @@
static CIfrQuestionHeader *gCurrentQuestion = NULL;
static CIfrMinMaxStepData *gCurrentMinMaxData = NULL;
static BOOLEAN gIsOrderedList = FALSE;
+static BOOLEAN gIsStringOp = FALSE;
/*
* The definition of all of the UEFI IFR Objects
Modified: trunk/edk2/BaseTools/Source/C/VfrCompile/VfrSyntax.g
===================================================================
--- trunk/edk2/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2015-08-27
05:27:51 UTC (rev 18335)
+++ trunk/edk2/BaseTools/Source/C/VfrCompile/VfrSyntax.g 2015-08-27
08:19:40 UTC (rev 18336)
@@ -1746,6 +1746,8 @@
DObj->SetLineNo(D->getLine());
if (ArrayType) {
DObj->SetType
(EFI_IFR_TYPE_BUFFER);
+ } else if
(gIsStringOp) {
+ DObj->SetType
(EFI_IFR_TYPE_STRING);
} else {
DObj->SetType
(_GET_CURRQEST_DATATYPE());
}
@@ -2819,7 +2821,7 @@
UINT8 StringMinSize;
UINT8 StringMaxSize;
>>
- L:String <<
SObj.SetLineNo(L->getLine()); >>
+ L:String <<
SObj.SetLineNo(L->getLine()); gIsStringOp = TRUE;>>
vfrQuestionHeader[SObj] ","
{ F:FLAGS "=" vfrStringFlagsField[SObj, F->getLine()] "," }
{
@@ -2847,7 +2849,7 @@
SObj.SetMaxSize
(StringMaxSize);
>>
vfrStatementQuestionOptionList
- E:EndString << CRT_END_OP (E); >>
+ E:EndString << CRT_END_OP (E);
gIsStringOp = FALSE;>>
";"
;
------------------------------------------------------------------------------
_______________________________________________
edk2-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/edk2-commits