Index: sdk/tools/cabman/dfp.cxx =================================================================== --- sdk/tools/cabman/dfp.cxx (revision 73519) +++ sdk/tools/cabman/dfp.cxx (working copy) @@ -278,6 +278,8 @@ if (!FileLoaded) return CAB_STATUS_NOFILE; + OptionalSkipped = 0; + while (ReadLine()) { Command = false; @@ -387,6 +389,9 @@ } } + if (OptionalSkipped) + printf("%lu Optional files skipped (see %s%s)\n", OptionalSkipped, GetDestinationPath(), InfFileName); + if (!InfFileOnly) { if (CABMgr.IsVerbose()) @@ -1223,7 +1228,7 @@ if (strstr(Options,"optional")) { Status = CAB_STATUS_SUCCESS; - printf("Optional file skipped (does not exist): %s.\n", SrcName); + OptionalSkipped++; } else printf("ERROR: File not found: %s.\n", SrcName); Index: sdk/tools/cabman/dfp.h =================================================================== --- sdk/tools/cabman/dfp.h (revision 73519) +++ sdk/tools/cabman/dfp.h (working copy) @@ -107,6 +107,7 @@ ULONG LineLength; ULONG CurrentLine; ULONG CurrentChar; + ULONG OptionalSkipped; /* Token */ DFP_TOKEN CurrentToken; ULONG CurrentInteger;