+UINT8\r
+CVfrErrorHandle::HandleWarning (\r
+ IN EFI_VFR_WARNING_CODE WarningCode,\r
+ IN UINT32 LineNum,\r
+ IN CHAR8 *TokName\r
+ )\r
+{\r
+ UINT32 Index;\r
+ CHAR8 *FileName = NULL;\r
+ UINT32 FileLine;\r
+ CONST CHAR8 *WarningMsg = NULL;\r
+\r
+ if (mVfrWarningHandleTable == NULL) {\r
+ return 1;\r
+ }\r
+\r
+ GetFileNameLineNum (LineNum, &FileName, &FileLine);\r
+\r
+ if (mWarningAsError) {\r
+ Error (FileName, FileLine, 0x2220, "warning treated as error", NULL);\r
+ }\r
+\r
+ for (Index = 0; mVfrWarningHandleTable[Index].mWarningCode != VFR_WARNING_CODEUNDEFINED; Index++) {\r
+ if (WarningCode == mVfrWarningHandleTable[Index].mWarningCode) {\r
+ WarningMsg = mVfrWarningHandleTable[Index].mWarningMsg;\r
+ break;\r
+ }\r
+ }\r
+\r
+ if (WarningMsg != NULL) {\r
+ Warning (FileName, FileLine, 0, TokName, (CHAR8 *) "\t%s\n", (CHAR8 *) WarningMsg);\r
+ return 1;\r
+ } else {\r
+ return 0;\r
+ }\r
+}\r
+\r