/** @file\r
- \r
+\r
VfrCompiler main class and main function.\r
\r
-Copyright (c) 2004 - 2016, 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
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+Copyright (c) 2004 - 2018, 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
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
\r
**/\r
\r
PACKAGE_DATA gRBuffer;\r
CVfrStringDB gCVfrStringDB;\r
\r
-VOID \r
+VOID\r
CVfrCompiler::DebugError (\r
IN CHAR8 *FileName,\r
IN UINT32 LineNumber,\r
IN CONST CHAR8 *Text,\r
IN CONST CHAR8 *MsgFmt,\r
...\r
- ) \r
+ )\r
{\r
va_list List;\r
va_start (List, MsgFmt);\r
\r
VOID\r
CVfrCompiler::OptionInitialization (\r
- IN INT32 Argc, \r
+ IN INT32 Argc,\r
IN CHAR8 **Argv\r
)\r
{\r
mOptions.AutoDefault = FALSE;\r
mOptions.CheckDefault = FALSE;\r
memset (&mOptions.OverrideClassGuid, 0, sizeof (EFI_GUID));\r
- \r
+\r
if (Argc == 1) {\r
Usage ();\r
SET_RUN_STATUS (STATUS_DEAD);\r
} else if (stricmp(Argv[Index], "-i") == 0) {\r
Index++;\r
if ((Index >= Argc) || (Argv[Index][0] == '-')) {\r
- DebugError (NULL, 0, 1001, "Missing option", "-i missing path argument"); \r
+ DebugError (NULL, 0, 1001, "Missing option", "-i missing path argument");\r
goto Fail;\r
}\r
\r
DebugError (NULL, 0, 1001, "Missing option", "-o missing output directory name");\r
goto Fail;\r
}\r
- if (strlen (Argv[Index]) > MAX_PATH - 1) {\r
- DebugError (NULL, 0, 1003, "Invalid option value", "Output directory name %s is too long", Argv[Index]);\r
- goto Fail;\r
- }\r
\r
mOptions.OutputDirectory = (CHAR8 *) malloc (strlen (Argv[Index]) + strlen ("\\") + 1);\r
if (mOptions.OutputDirectory == NULL) {\r
goto Fail;\r
}\r
strcpy (mOptions.OutputDirectory, Argv[Index]);\r
- \r
+\r
CHAR8 lastChar = mOptions.OutputDirectory[strlen(mOptions.OutputDirectory) - 1];\r
if ((lastChar != '/') && (lastChar != '\\')) {\r
if (strchr(mOptions.OutputDirectory, '/') != NULL) {\r
strcat (mOptions.OutputDirectory, "\\");\r
}\r
}\r
- DebugMsg (NULL, 0, 9, (CHAR8 *) "Output Directory", mOptions.OutputDirectory);\r
+ DebugMsg (NULL, 0, 9, (CHAR8 *) "Output Directory", (CHAR8 *) "%s", mOptions.OutputDirectory);\r
} else if (stricmp(Argv[Index], "-b") == 0 || stricmp(Argv[Index], "--create-ifr-package") == 0 || stricmp(Argv[Index], "-ibin") == 0) {\r
mOptions.CreateIfrPkgFile = TRUE;\r
} else if (stricmp(Argv[Index], "-n") == 0 || stricmp(Argv[Index], "--no-pre-processing") == 0 || stricmp(Argv[Index], "-nopp") == 0) {\r
goto Fail;\r
}\r
gCVfrStringDB.SetStringFileName(Argv[Index]);\r
- DebugMsg (NULL, 0, 9, (CHAR8 *) "Input string file path", Argv[Index]);\r
+ DebugMsg (NULL, 0, 9, (CHAR8 *) "Input string file path", (CHAR8 *) "%s", Argv[Index]);\r
} else if ((stricmp (Argv[Index], "-g") == 0) || (stricmp (Argv[Index], "--guid") == 0)) {\r
Index++;\r
Status = StringToGuid (Argv[Index], &mOptions.OverrideClassGuid);\r
DebugError (NULL, 0, 1001, "Missing option", "VFR file name is not specified.");\r
goto Fail;\r
} else {\r
- if (strlen (Argv[Index]) > MAX_PATH) {\r
- DebugError (NULL, 0, 1003, "Invalid option value", "VFR file name %s is too long.", Argv[Index]);\r
- goto Fail;\r
- }\r
mOptions.VfrFileName = (CHAR8 *) malloc (strlen (Argv[Index]) + 1);\r
if (mOptions.VfrFileName == NULL) {\r
DebugError (NULL, 0, 4001, "Resource: memory can't be allocated", NULL);\r
if (mOptions.IncludePaths != NULL) {\r
delete mOptions.IncludePaths;\r
mOptions.IncludePaths = NULL;\r
- } \r
+ }\r
if (mOptions.CPreprocessorOptions != NULL) {\r
delete mOptions.CPreprocessorOptions;\r
mOptions.CPreprocessorOptions = NULL;\r
strcat (IncludePaths, " -I ");\r
strcat (IncludePaths, PathStr);\r
if (mOptions.IncludePaths != NULL) {\r
- delete mOptions.IncludePaths;\r
+ delete[] mOptions.IncludePaths;\r
}\r
mOptions.IncludePaths = IncludePaths;\r
}\r
strcat (Opt, " ");\r
strcat (Opt, Options);\r
if (mOptions.CPreprocessorOptions != NULL) {\r
- delete mOptions.CPreprocessorOptions;\r
+ delete[] mOptions.CPreprocessorOptions;\r
}\r
mOptions.CPreprocessorOptions = Opt;\r
}\r
}\r
\r
*pExt = '\0';\r
- if (strlen (pFileName) > MAX_PATH - 1) {\r
- *pExt = '.';\r
- return -1;\r
- }\r
\r
mOptions.VfrBaseFileName = (CHAR8 *) malloc (strlen (pFileName) + 1);\r
if (mOptions.VfrBaseFileName == NULL) {\r
strlen (mOptions.VfrBaseFileName) +\r
strlen (VFR_PACKAGE_FILENAME_EXTENSION) +\r
1;\r
- if (Length > MAX_PATH) {\r
- return -1;\r
- }\r
\r
mOptions.PkgOutputFileName = (CHAR8 *) malloc (Length);\r
if (mOptions.PkgOutputFileName == NULL) {\r
strlen (mOptions.VfrBaseFileName) +\r
strlen (".c") +\r
1;\r
- if (Length > MAX_PATH) {\r
- return -1;\r
- }\r
\r
mOptions.COutputFileName = (CHAR8 *) malloc (Length);\r
if (mOptions.COutputFileName == NULL) {\r
strlen (mOptions.VfrBaseFileName) +\r
strlen (VFR_PREPROCESS_FILENAME_EXTENSION) +\r
1;\r
- if (Length > MAX_PATH) {\r
- return -1;\r
- }\r
\r
mOptions.PreprocessorOutputFileName = (CHAR8 *) malloc (Length);\r
if (mOptions.PreprocessorOutputFileName == NULL) {\r
strlen (mOptions.VfrBaseFileName) +\r
strlen (VFR_RECORDLIST_FILENAME_EXTENSION) +\r
1;\r
- if (Length > MAX_PATH) {\r
- return -1;\r
- }\r
\r
mOptions.RecordListFile = (CHAR8 *) malloc (Length);\r
if (mOptions.RecordListFile == NULL) {\r
}\r
\r
CVfrCompiler::CVfrCompiler (\r
- IN INT32 Argc, \r
+ IN INT32 Argc,\r
IN CHAR8 **Argv\r
)\r
{\r
}\r
\r
if (mOptions.IncludePaths != NULL) {\r
- delete mOptions.IncludePaths;\r
+ delete[] mOptions.IncludePaths;\r
mOptions.IncludePaths = NULL;\r
}\r
\r
if (mOptions.CPreprocessorOptions != NULL) {\r
- delete mOptions.CPreprocessorOptions;\r
+ delete[] mOptions.CPreprocessorOptions;\r
mOptions.CPreprocessorOptions = NULL;\r
}\r
\r
SET_RUN_STATUS(STATUS_DEAD);\r
}\r
\r
-VOID \r
+VOID\r
CVfrCompiler::Usage (\r
VOID\r
)\r
{\r
UINT32 Index;\r
CONST CHAR8 *Help[] = {\r
- " ", \r
+ " ",\r
"VfrCompile version " VFR_COMPILER_VERSION "Build " __BUILD_VERSION,\r
"Copyright (c) 2004-2016 Intel Corporation. All rights reserved.",\r
" ",\r
}\r
}\r
\r
-VOID \r
+VOID\r
CVfrCompiler::Version (\r
VOID\r
)\r
}\r
\r
if ((pVfrFile = fopen (LongFilePath (mOptions.VfrFileName), "r")) == NULL) {\r
- DebugError (NULL, 0, 0001, "Error opening the input VFR file", mOptions.VfrFileName);\r
+ DebugError (NULL, 0, 0001, "Error opening the input VFR file", "%s", mOptions.VfrFileName);\r
goto Fail;\r
}\r
fclose (pVfrFile);\r
\r
- CmdLen = strlen (mPreProcessCmd) + strlen (mPreProcessOpt) + \r
- strlen (mOptions.VfrFileName) + strlen (mOptions.PreprocessorOutputFileName);\r
+ CmdLen = strlen (mPreProcessCmd) + strlen (mPreProcessOpt) +\r
+ strlen (mOptions.VfrFileName) + strlen (mOptions.PreprocessorOutputFileName);\r
if (mOptions.CPreprocessorOptions != NULL) {\r
CmdLen += strlen (mOptions.CPreprocessorOptions);\r
}\r
goto Fail;\r
}\r
\r
- delete PreProcessCmd;\r
+ delete[] PreProcessCmd;\r
\r
Out:\r
SET_RUN_STATUS (STATUS_PREPROCESSED);\r
if (!IS_RUN_STATUS(STATUS_DEAD)) {\r
SET_RUN_STATUS (STATUS_FAILED);\r
}\r
- delete PreProcessCmd;\r
+ delete[] PreProcessCmd;\r
}\r
\r
extern UINT8 VfrParserStart (IN FILE *, IN INPUT_INFO_TO_SYNTAX *);\r
gCVfrErrorHandle.SetWarningAsError(mOptions.WarningAsError);\r
\r
if ((pInFile = fopen (LongFilePath (InFileName), "r")) == NULL) {\r
- DebugError (NULL, 0, 0001, "Error opening the input file", InFileName);\r
+ DebugError (NULL, 0, 0001, "Error opening the input file", "%s", InFileName);\r
goto Fail;\r
}\r
\r
}\r
\r
fclose (pInFile);\r
+ pInFile = NULL;\r
\r
if (gCFormPkg.HavePendingUnassigned () == TRUE) {\r
gCFormPkg.PendingAssignPrintAll ();\r
// Get Package Data and IfrRecord Data\r
//\r
gCFormPkg.BuildPkg (gCBuffer);\r
- gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer); \r
+ gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer);\r
\r
//\r
// Compare Form and Record data\r
//\r
// Re get the IfrRecord Buffer.\r
//\r
- gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer); \r
+ gCIfrRecordInfoDB.IfrRecordOutput (gRBuffer);\r
}\r
\r
return;\r
\r
if (mOptions.CreateIfrPkgFile == TRUE) {\r
if ((pFile = fopen (LongFilePath (mOptions.PkgOutputFileName), "wb")) == NULL) {\r
- DebugError (NULL, 0, 0001, "Error opening file", mOptions.PkgOutputFileName);\r
+ DebugError (NULL, 0, 0001, "Error opening file", "%s", mOptions.PkgOutputFileName);\r
goto Fail;\r
}\r
if (gCFormPkg.BuildPkg (pFile, &gRBuffer) != VFR_RETURN_SUCCESS) {\r
if (!IS_RUN_STATUS(STATUS_GENBINARY)) {\r
goto Fail;\r
}\r
- \r
+\r
if (!mOptions.CreateIfrPkgFile || mOptions.CompatibleMode) {\r
if ((pFile = fopen (LongFilePath (mOptions.COutputFileName), "w")) == NULL) {\r
- DebugError (NULL, 0, 0001, "Error opening output C file", mOptions.COutputFileName);\r
+ DebugError (NULL, 0, 0001, "Error opening output C file", "%s", mOptions.COutputFileName);\r
goto Fail;\r
}\r
\r
fprintf (pFile, "%s\n", gSourceFileHeader[Index]);\r
}\r
\r
- if (mOptions.CompatibleMode) { \r
+ if (mOptions.CompatibleMode) {\r
gCVfrBufferConfig.OutputCFile (pFile, mOptions.VfrBaseFileName);\r
}\r
\r
\r
InFileName = (mOptions.SkipCPreprocessor == TRUE) ? mOptions.VfrFileName : mOptions.PreprocessorOutputFileName;\r
\r
- if (mOptions.CreateRecordListFile == TRUE) {\r
+ if (mOptions.CreateRecordListFile == TRUE && InFileName != NULL && mOptions.RecordListFile != NULL) {\r
if ((InFileName[0] == '\0') || (mOptions.RecordListFile[0] == '\0')) {\r
return;\r
}\r
\r
if ((pInFile = fopen (LongFilePath (InFileName), "r")) == NULL) {\r
- DebugError (NULL, 0, 0001, "Error opening the input VFR preprocessor output file", InFileName);\r
+ DebugError (NULL, 0, 0001, "Error opening the input VFR preprocessor output file", "%s", InFileName);\r
return;\r
}\r
\r
if ((pOutFile = fopen (LongFilePath (mOptions.RecordListFile), "w")) == NULL) {\r
- DebugError (NULL, 0, 0001, "Error opening the record list file", mOptions.RecordListFile);\r
+ DebugError (NULL, 0, 0001, "Error opening the record list file", "%s", mOptions.RecordListFile);\r
goto Err1;\r
}\r
\r
gCIfrRecordInfoDB.IfrRecordOutput (pOutFile, LineNo);\r
}\r
}\r
- \r
+\r
fprintf (pOutFile, "\n//\n// All Opcode Record List \n//\n");\r
gCIfrRecordInfoDB.IfrRecordOutput (pOutFile, 0);\r
gCVfrVarDataTypeDB.Dump(pOutFile);\r
\r
int\r
main (\r
- IN int Argc, \r
+ IN int Argc,\r
IN char **Argv\r
)\r
{\r
\r
SetPrintLevel(WARNING_LOG_LEVEL);\r
CVfrCompiler Compiler(Argc, Argv);\r
- \r
+\r
Compiler.PreProcess();\r
Compiler.Compile();\r
Compiler.AdjustBin();\r
}\r
\r
if (gCBuffer.Buffer != NULL) {\r
- delete gCBuffer.Buffer;\r
+ delete[] gCBuffer.Buffer;\r
}\r
- \r
+\r
if (gRBuffer.Buffer != NULL) {\r
- delete gRBuffer.Buffer;\r
+ delete[] gRBuffer.Buffer;\r
}\r
\r
return GetUtilityStatus ();\r