Author: akhaldi Date: Sun Sep 29 14:48:37 2013 New Revision: 60449
URL: http://svn.reactos.org/svn/reactos?rev=60449&view=rev Log: [CABMAN] * Show the status messages only in -V mode. * Improve error messages by marking them as ERROR/WARNING. * Brought to you by David Quintana. CORE-7477 #resolve #comment Committed in r60449. Gracias.
Modified: trunk/reactos/tools/cabman/cabinet.cxx trunk/reactos/tools/cabman/cabman.h trunk/reactos/tools/cabman/dfp.cxx trunk/reactos/tools/cabman/main.cxx
Modified: trunk/reactos/tools/cabman/cabinet.cxx URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/cabinet.cxx?re... ============================================================================== --- trunk/reactos/tools/cabman/cabinet.cxx [iso-8859-1] (original) +++ trunk/reactos/tools/cabman/cabinet.cxx [iso-8859-1] Sun Sep 29 14:48:37 2013 @@ -607,7 +607,7 @@ SelectCodec(CAB_CODEC_MSZIP); else { - printf("Invalid codec specified!\n"); + printf("ERROR: Invalid codec specified!\n"); return false; }
Modified: trunk/reactos/tools/cabman/cabman.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/cabman.h?rev=6... ============================================================================== --- trunk/reactos/tools/cabman/cabman.h [iso-8859-1] (original) +++ trunk/reactos/tools/cabman/cabman.h [iso-8859-1] Sun Sep 29 14:48:37 2013 @@ -24,6 +24,7 @@ virtual ~CCABManager(); bool ParseCmdline(int argc, char* argv[]); bool Run(); + bool IsVerbose() { return Verbose; } private: void Usage(); bool CreateCabinet(); @@ -39,6 +40,9 @@ ULONG Mode; bool PromptOnOverwrite; char FileName[PATH_MAX]; + bool Verbose; };
+extern CCABManager CABMgr; + /* EOF */
Modified: trunk/reactos/tools/cabman/dfp.cxx URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/dfp.cxx?rev=60... ============================================================================== --- trunk/reactos/tools/cabman/dfp.cxx [iso-8859-1] (original) +++ trunk/reactos/tools/cabman/dfp.cxx [iso-8859-1] Sun Sep 29 14:48:37 2013 @@ -14,7 +14,7 @@ */ #include <stdlib.h> #include <stdio.h> -#include "cabinet.h" +#include "cabman.h" #include "dfp.h"
@@ -345,7 +345,7 @@
if (Status == CAB_STATUS_FAILURE) { - printf("Directive file contains errors at line %u.\n", (UINT)CurrentLine); + printf("ERROR: Directive file contains errors at line %u.\n", (UINT)CurrentLine); DPRINT(MID_TRACE, ("Error while executing command.\n")); }
@@ -359,7 +359,7 @@
if (Status != CAB_STATUS_SUCCESS) { - printf("Directive file contains errors at line %u.\n", (UINT)CurrentLine); + printf("ERROR: Directive file contains errors at line %u.\n", (UINT)CurrentLine); DPRINT(MID_TRACE, ("Error while copying file.\n")); }
@@ -380,7 +380,7 @@ break;
default: - printf("Directive file contains errors at line %u.\n", (UINT)CurrentLine); + printf("ERROR: Directive file contains errors at line %u.\n", (UINT)CurrentLine); DPRINT(MID_TRACE, ("Token is (%u).\n", (UINT)CurrentToken)); return CAB_STATUS_SUCCESS; } @@ -391,7 +391,10 @@
if (!InfFileOnly) { - printf("\nWriting cabinet. This may take a while...\n\n"); + if (CABMgr.IsVerbose()) + { + printf("Writing cabinet. This may take a while...\n"); + }
if (DiskCreated) { @@ -415,7 +418,10 @@ } }
- printf("\nDone.\n"); + if (CABMgr.IsVerbose()) + { + printf("Done.\n"); + } }
return CAB_STATUS_SUCCESS; @@ -1181,7 +1187,7 @@ if (Status != CAB_STATUS_SUCCESS) { DPRINT(MIN_TRACE, ("Cannot create cabinet (%u).\n", (UINT)Status)); - printf("Cannot create cabinet.\n"); + printf("ERROR: Cannot create cabinet.\n"); return CAB_STATUS_FAILURE; } CabinetCreated = true; @@ -1192,7 +1198,7 @@ if (Status != CAB_STATUS_SUCCESS) { DPRINT(MIN_TRACE, ("Cannot create disk (%u).\n", (UINT)Status)); - printf("Cannot create disk.\n"); + printf("ERROR: Cannot create disk.\n"); return CAB_STATUS_FAILURE; } DiskCreated = true; @@ -1219,19 +1225,19 @@ if (strstr(Options,"optional")) { Status = CAB_STATUS_SUCCESS; - printf("Optional file does not exist: %s.\n", SrcName); + printf("Optional file skipped (does not exist): %s.\n", SrcName); } else - printf("File does not exist: %s.\n", SrcName); + printf("ERROR: File not found: %s.\n", SrcName);
break;
case CAB_STATUS_NOMEMORY: - printf("Insufficient memory to add file: %s.\n", SrcName); + printf("ERROR: Insufficient memory to add file: %s.\n", SrcName); break;
default: - printf("Cannot add file: %s (%u).\n", SrcName, (UINT)Status); + printf("ERROR: Cannot add file: %s (%u).\n", SrcName, (UINT)Status); break; } return Status;
Modified: trunk/reactos/tools/cabman/main.cxx URL: http://svn.reactos.org/svn/reactos/trunk/reactos/tools/cabman/main.cxx?rev=6... ============================================================================== --- trunk/reactos/tools/cabman/main.cxx [iso-8859-1] (original) +++ trunk/reactos/tools/cabman/main.cxx [iso-8859-1] Sun Sep 29 14:48:37 2013 @@ -173,6 +173,7 @@ InfFileOnly = false; Mode = CM_MODE_DISPLAY; FileName[0] = 0; + Verbose = false; }
@@ -215,7 +216,8 @@ printf(" -RC Specify file to put in cabinet reserved area\n"); printf(" (size must be less than 64KB).\n"); printf(" -S Create simple cabinet.\n"); - printf(" -P dir Files in the .dff are relative to this directory\n"); + printf(" -P dir Files in the .dff are relative to this directory.\n"); + printf(" -V Verbose mode (prints more messages).\n"); }
bool CCABManager::ParseCmdline(int argc, char* argv[]) @@ -309,7 +311,7 @@ i++; if (!SetCabinetReservedFile(&argv[i][0])) { - printf("Cannot open cabinet reserved area file.\n"); + printf("ERROR: Cannot open cabinet reserved area file.\n"); return false; } } @@ -317,14 +319,14 @@ { if (!SetCabinetReservedFile(&argv[i][3])) { - printf("Cannot open cabinet reserved area file.\n"); + printf("ERROR: Cannot open cabinet reserved area file.\n"); return false; } } break;
default: - printf("Bad parameter %s.\n", argv[i]); + printf("ERROR: Bad parameter %s.\n", argv[i]); return false; } break; @@ -344,9 +346,13 @@ SetFileRelativePath(&argv[i][2]);
break; + + case 'V': + Verbose = true; + break;
default: - printf("Bad parameter %s.\n", argv[i]); + printf("ERROR: Bad parameter %s.\n", argv[i]); return false; } } @@ -356,7 +362,7 @@ { if(FileName[0]) { - printf("You may only specify one directive file!\n"); + printf("ERROR: You may only specify one directive file!\n"); return false; } else @@ -391,7 +397,7 @@ // Search criteria (= the filename argument) is necessary for creating a simple cabinet if( Mode == CM_MODE_CREATE_SIMPLE && !HasSearchCriteria()) { - printf("You have to enter input file names!\n"); + printf("ERROR: You have to enter input file names!\n"); return false; }
@@ -409,7 +415,7 @@ Status = Load(FileName); if (Status != CAB_STATUS_SUCCESS) { - printf("Specified directive file could not be found: %s.\n", FileName); + printf("ERROR: Specified directive file could not be found: %s.\n", FileName); return false; }
@@ -430,7 +436,10 @@
if (Open() == CAB_STATUS_SUCCESS) { - printf("Cabinet %s\n\n", GetCabinetName()); + if (Verbose) + { + printf("Cabinet %s\n\n", GetCabinetName()); + }
if (FindFirst(&Search) == CAB_STATUS_SUCCESS) { @@ -473,12 +482,12 @@ else { /* There should be at least one file in a cabinet */ - printf("No files in cabinet."); + printf("WARNING: No files in cabinet."); } return true; } else - printf("Cannot open file: %s\n", GetCabinetName()); + printf("ERROR: Cannot open file: %s\n", GetCabinetName());
return false; } @@ -495,7 +504,10 @@
if (Open() == CAB_STATUS_SUCCESS) { - printf("Cabinet %s\n\n", GetCabinetName()); + if (Verbose) + { + printf("Cabinet %s\n\n", GetCabinetName()); + }
if (FindFirst(&Search) == CAB_STATUS_SUCCESS) { @@ -507,22 +519,22 @@ break;
case CAB_STATUS_INVALID_CAB: - printf("Cabinet contains errors.\n"); + printf("ERROR: Cabinet contains errors.\n"); bRet = false; break;
case CAB_STATUS_UNSUPPCOMP: - printf("Cabinet uses unsupported compression type.\n"); + printf("ERROR: Cabinet uses unsupported compression type.\n"); bRet = false; break;
case CAB_STATUS_CANNOT_WRITE: - printf("You've run out of free space on the destination volume or the volume is damaged.\n"); + printf("ERROR: You've run out of free space on the destination volume or the volume is damaged.\n"); bRet = false; break;
default: - printf("Unspecified error code (%u).\n", (UINT)Status); + printf("ERROR: Unspecified error code (%u).\n", (UINT)Status); bRet = false; break; } @@ -537,7 +549,7 @@ return bRet; } else - printf("Cannot open file: %s.\n", GetCabinetName()); + printf("ERROR: Cannot open file: %s.\n", GetCabinetName());
return false; } @@ -548,7 +560,10 @@ * FUNCTION: Process cabinet */ { - printf("ReactOS Cabinet Manager\n\n"); + if (Verbose) + { + printf("ReactOS Cabinet Manager\n\n"); + }
switch (Mode) { @@ -601,21 +616,27 @@ * FileName = Pointer to buffer with name of file (full path) */ { - printf("Extracting %s\n", GetFileName(FileName)); + if (Verbose) + { + printf("Extracting %s\n", GetFileName(FileName)); + } }
void CCABManager::OnDiskChange(char* CabinetName, - char* DiskLabel) -/* - * FUNCTION: Called when a new disk is to be processed - * ARGUMENTS: - * CabinetName = Pointer to buffer with name of cabinet - * DiskLabel = Pointer to buffer with label of disk - */ -{ - printf("\nChanging to cabinet %s - %s\n\n", CabinetName, DiskLabel); + char* DiskLabel) + /* + * FUNCTION: Called when a new disk is to be processed + * ARGUMENTS: + * CabinetName = Pointer to buffer with name of cabinet + * DiskLabel = Pointer to buffer with label of disk + */ +{ + if (Verbose) + { + printf("\nChanging to cabinet %s - %s\n\n", CabinetName, DiskLabel); + } }
@@ -628,9 +649,13 @@ * FileName = Pointer to buffer with name of file (full path) */ { - printf("Adding %s\n", GetFileName(FileName)); -} - + if (Verbose) + { + printf("Adding %s\n", GetFileName(FileName)); + } +} + +CCABManager CABMgr;
int main(int argc, char * argv[]) /* @@ -640,11 +665,9 @@ * argv = Pointer to list of command line arguments */ { - CCABManager CABMgr; bool status = false;
- if (CABMgr.ParseCmdline(argc, argv)) - status = CABMgr.Run(); + if (CABMgr.ParseCmdline(argc, argv)) status = CABMgr.Run();
return (status ? 0 : 1); }