enable -q/-v/-d interface for EfiRom, GenVtf and TianoCompress tool and use the commo...
[efi/basetools/.git] / Source / C / TianoCompress / TianoCompress.c
index 02dce90..2f6e56b 100644 (file)
@@ -1710,7 +1710,7 @@ Returns:
             Show this help message and exit.\n");\r
   fprintf (stdout, "  -q, --quiet\n\\r
          Disable all messages except FATAL ERRORS.\n");\r
-  fprintf (stdout, "  -d, --debug [#]\n\\r
+  fprintf (stdout, "  -d, --debug [#,0-9]\n\\r
          Enable debug messages at level #.\n");  \r
 }\r
 \r
@@ -1862,22 +1862,28 @@ Returns:
   }\r
 \r
 //\r
-// All Parameters has been parsed\r
-// \r
+// All Parameters has been parsed, now set the message print level\r
+//\r
+  if (QuietMode) {\r
+    SetPrintLevel(40);\r
+  } else if (VerboseMode) {\r
+    SetPrintLevel(15);\r
+  } else if (DebugMode) {\r
+    SetPrintLevel(DebugLevel);\r
+  }\r
+  \r
   if (VerboseMode) {\r
-    fprintf (stdout, "%s tool start.\n", UTILITY_NAME);\r
+    VerboseMsg("%s tool start.\n", UTILITY_NAME);\r
    }\r
   Scratch = (SCRATCH_DATA *)malloc(sizeof(SCRATCH_DATA));\r
   if (Scratch == NULL) {\r
     Error(NULL, 0, 4001, "Resource:", "Memory cannot be allocated!");\r
-    //return 1;\r
     goto ERROR;\r
   }\r
     \r
   InputFile = fopen (InputFileName, "rb");\r
   if (InputFile == NULL) {\r
     Error(NULL, 0, 0001, "Error opening input file", InputFileName);\r
-    //return 1;\r
     goto ERROR;\r
   }\r
         \r
@@ -1912,9 +1918,11 @@ Returns:
     if (InputFile != NULL) {\r
       fclose (InputFile);\r
       }\r
-      //return EFI_ABORTED;\r
       goto ERROR;\r
       }\r
+    } else {\r
+      OutputFileName = DEFAULT_OUTPUT_FILE;\r
+      OutputFile = fopen (OutputFileName, "wb");\r
     }\r
     \r
   if (ENCODE) {\r
@@ -1922,7 +1930,7 @@ Returns:
   // First call TianoCompress to get DstSize\r
   //\r
   if (DebugMode) {\r
-    fprintf(stdout, "Encoding\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Encoding");\r
   }\r
   Status = TianoCompress ((UINT8 *)FileBuffer, InputLength, OutBuffer, &DstSize);\r
   \r
@@ -1940,17 +1948,21 @@ Returns:
   }\r
 \r
   fwrite(OutBuffer,(size_t)DstSize, 1, OutputFile);\r
+  free(Scratch);\r
   free(FileBuffer);\r
   free(OutBuffer);\r
 \r
   if (DebugMode) {\r
-    fprintf(stdout, "Encoding successful\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Encoding Successful!\n");\r
+  }\r
+  if (VerboseMode) {\r
+    VerboseMsg("Encoding successful\n");\r
   }\r
   return 0;  \r
   }\r
   else if (DECODE) {\r
   if (DebugMode) {\r
-    fprintf(stdout, "Decoding\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Decoding\n");\r
   }\r
   //\r
   // Get Compressed file original size\r
@@ -1969,7 +1981,6 @@ Returns:
 \r
   Status = Decompress((VOID *)FileBuffer, (VOID *)OutBuffer, (VOID *)Scratch, 2);\r
   if (Status != EFI_SUCCESS) {\r
-    //Error(NULL, 0, 0008, "Error decompressing file: %s", InputFileName);\r
    goto ERROR;         \r
   }\r
 \r
@@ -1979,7 +1990,11 @@ Returns:
   free(OutBuffer);\r
 \r
   if (DebugMode) {\r
-    fprintf(stdout, "Decoding successful\n");\r
+    DebugMsg(UTILITY_NAME, 0, DebugLevel, "Encoding successful!\n");\r
+  }\r
+  \r
+  if (VerboseMode) {\r
+    VerboseMsg("Decoding successful\n");\r
   }\r
   return 0;\r
   }\r
@@ -1987,16 +2002,16 @@ Returns:
 ERROR:\r
   if (DebugMode) {\r
     if (ENCODE) {\r
-      fprintf(stdout, "Encoding Error\n");\r
+      DebugMsg(UTILITY_NAME, 0, DebugLevel, "Encoding Error\n");\r
     } else if (DECODE) {\r
-      fprintf(stdout, "Decoding Error\n");\r
+      DebugMsg(UTILITY_NAME, 0, DebugLevel, "Decoding Error\n");\r
     }\r
   }\r
   free(Scratch);\r
   free(FileBuffer);\r
   free(OutBuffer);\r
   if (VerboseMode) {\r
-    fprintf (stdout, "%s tool done with return code is 0x%x.\n", UTILITY_NAME, GetUtilityStatus ());  \r
+    VerboseMsg("%s tool done with return code is 0x%x.\n", UTILITY_NAME, GetUtilityStatus ());\r
   }\r
   return GetUtilityStatus ();\r
 }\r