time_t InputFileTime;\r
time_t OutputFileTime;\r
struct stat Stat_Buf;\r
+ BOOLEAN ZeroDebugFlag;\r
\r
SetUtilityName (UTILITY_NAME);\r
\r
NegativeAddr = FALSE;\r
InputFileTime = 0;\r
OutputFileTime = 0;\r
+ ZeroDebugFlag = FALSE;\r
\r
if (argc == 1) {\r
Error (NULL, 0, 1001, "Missing options", "No input options.");\r
goto Finish;\r
}\r
ModuleType = argv[1];\r
+ if (mOutImageType == FW_ZERO_DEBUG_IMAGE) {\r
+ ZeroDebugFlag = TRUE;\r
+ }\r
if (mOutImageType != FW_TE_IMAGE) {\r
mOutImageType = FW_EFI_IMAGE;\r
}\r
}\r
\r
if ((stricmp (argv[0], "-t") == 0) || (stricmp (argv[0], "--terse") == 0)) {\r
+ if (mOutImageType == FW_ZERO_DEBUG_IMAGE) {\r
+ ZeroDebugFlag = TRUE;\r
+ }\r
mOutImageType = FW_TE_IMAGE;\r
argc --;\r
argv ++;\r
}\r
\r
if ((stricmp (argv[0], "-z") == 0) || (stricmp (argv[0], "--zero") == 0)) {\r
- mOutImageType = FW_ZERO_DEBUG_IMAGE;\r
+ if (mOutImageType == FW_DUMMY_IMAGE) {\r
+ mOutImageType = FW_ZERO_DEBUG_IMAGE;\r
+ }\r
+ if (mOutImageType == FW_TE_IMAGE || mOutImageType == FW_EFI_IMAGE) {\r
+ ZeroDebugFlag = TRUE;\r
+ }\r
argc --;\r
argv ++;\r
continue;\r
//\r
// Zero Time/Data field\r
//\r
- ZeroDebugData (FileBuffer, FALSE);\r
+ ZeroDebugData (FileBuffer, ZeroDebugFlag);\r
\r
if (mOutImageType == FW_TE_IMAGE) {\r
if ((PeHdr->Pe32.FileHeader.NumberOfSections &~0xFF) || (Type &~0xFF)) {\r