SYS: Reduce verbosity when the verbose flag is not set

This commit is contained in:
Piotr Durlej 2020-01-05 17:21:24 +00:00 committed by Kenneth J Davis
parent 49d3c8d76b
commit 0a0d55ea53

View File

@ -506,7 +506,7 @@ void dumpBS(const char *, int);
void restoreBS(const char *, int); void restoreBS(const char *, int);
void put_boot(SYSOptions *opts); void put_boot(SYSOptions *opts);
BOOL check_space(COUNT, ULONG); BOOL check_space(COUNT, ULONG);
BOOL copy(const BYTE *source, COUNT drive, const BYTE * filename); BOOL copy(SYSOptions *opts, const BYTE *source, COUNT drive, const BYTE * filename);
void showHelpAndExit(void) void showHelpAndExit(void)
{ {
@ -895,7 +895,8 @@ void initOptions(int argc, char *argv[], SYSOptions *opts)
OEM_FD; OEM_FD;
#endif #endif
printf(msgDOS[opts->flavor]); if (opts->verbose)
printf(msgDOS[opts->flavor]);
/* set compatibility settings not explicitly set */ /* set compatibility settings not explicitly set */
if (!opts->kernel.kernel) opts->kernel.kernel = bootFiles[opts->flavor].kernel; if (!opts->kernel.kernel) opts->kernel.kernel = bootFiles[opts->flavor].kernel;
@ -975,8 +976,6 @@ int main(int argc, char **argv)
SYSOptions opts; /* boot options and other flags */ SYSOptions opts; /* boot options and other flags */
BYTE srcFile[SYS_MAXPATH]; /* full path+name of [kernel] file [to copy] */ BYTE srcFile[SYS_MAXPATH]; /* full path+name of [kernel] file [to copy] */
printf(SYS_NAME SYS_VERSION ", " __DATE__ "\n");
#ifdef FDCONFIG #ifdef FDCONFIG
if (argc > 1 && memicmp(argv[1], "CONFIG", 6) == 0) if (argc > 1 && memicmp(argv[1], "CONFIG", 6) == 0)
{ {
@ -986,15 +985,20 @@ int main(int argc, char **argv)
initOptions(argc, argv, &opts); initOptions(argc, argv, &opts);
printf("Processing boot sector...\n"); if (opts.verbose)
printf(SYS_NAME SYS_VERSION ", " __DATE__ "\n");
if (opts.verbose)
printf("Processing boot sector...\n");
put_boot(&opts); put_boot(&opts);
if (opts.copyKernel) if (opts.copyKernel)
{ {
printf("Now copying system files...\n"); if (opts.verbose)
printf("Now copying system files...\n");
sprintf(srcFile, "%s%s", opts.srcDrive, (opts.fnKernel)?opts.fnKernel:opts.kernel.kernel); sprintf(srcFile, "%s%s", opts.srcDrive, (opts.fnKernel)?opts.fnKernel:opts.kernel.kernel);
if (!copy(srcFile, opts.dstDrive, opts.kernel.kernel)) if (!copy(&opts, srcFile, opts.dstDrive, opts.kernel.kernel))
{ {
printf("%s: cannot copy \"%s\"\n", pgm, srcFile); printf("%s: cannot copy \"%s\"\n", pgm, srcFile);
exit(1); exit(1);
@ -1003,7 +1007,7 @@ int main(int argc, char **argv)
if (opts.kernel.dos) if (opts.kernel.dos)
{ {
sprintf(srcFile, "%s%s", opts.srcDrive, opts.kernel.dos); sprintf(srcFile, "%s%s", opts.srcDrive, opts.kernel.dos);
if (!copy(srcFile, opts.dstDrive, opts.kernel.dos) && opts.kernel.minsize) if (!copy(&opts, srcFile, opts.dstDrive, opts.kernel.dos) && opts.kernel.minsize)
{ {
printf("%s: cannot copy \"%s\"\n", pgm, srcFile); printf("%s: cannot copy \"%s\"\n", pgm, srcFile);
exit(1); exit(1);
@ -1013,16 +1017,17 @@ int main(int argc, char **argv)
if (opts.copyShell) if (opts.copyShell)
{ {
printf("Copying shell (command interpreter)...\n"); if (opts.verbose)
printf("Copying shell (command interpreter)...\n");
/* copy command.com, 1st try source path, then try %COMSPEC% */ /* copy command.com, 1st try source path, then try %COMSPEC% */
sprintf(srcFile, "%s%s", opts.srcDrive, (opts.fnCmd)?opts.fnCmd:"COMMAND.COM"); sprintf(srcFile, "%s%s", opts.srcDrive, (opts.fnCmd)?opts.fnCmd:"COMMAND.COM");
if (!copy(srcFile, opts.dstDrive, "COMMAND.COM")) if (!copy(&opts, srcFile, opts.dstDrive, "COMMAND.COM"))
{ {
char *comspec = getenv("COMSPEC"); char *comspec = getenv("COMSPEC");
if (!opts.fnCmd && (comspec != NULL)) if (!opts.fnCmd && (comspec != NULL))
printf("%s: Trying shell from %%COMSPEC%%=\"%s\"\n", pgm, comspec); printf("%s: Trying shell from %%COMSPEC%%=\"%s\"\n", pgm, comspec);
if (opts.fnCmd || (comspec == NULL) || !copy(comspec, opts.dstDrive, "COMMAND.COM")) if (opts.fnCmd || (comspec == NULL) || !copy(&opts, comspec, opts.dstDrive, "COMMAND.COM"))
{ {
printf("\n%s: failed to find command interpreter (shell) file %s\n", pgm, (opts.fnCmd)?opts.fnCmd:"COMMAND.COM"); printf("\n%s: failed to find command interpreter (shell) file %s\n", pgm, (opts.fnCmd)?opts.fnCmd:"COMMAND.COM");
exit(1); exit(1);
@ -1030,7 +1035,9 @@ int main(int argc, char **argv)
} /* copy shell */ } /* copy shell */
} }
printf("\nSystem transferred.\n"); if (opts.verbose)
printf("\n");
printf("System transferred.\n\n");
return 0; return 0;
} }
@ -1520,7 +1527,8 @@ void put_boot(SYSOptions *opts)
if (fs == FAT32) if (fs == FAT32)
{ {
printf("FAT type: FAT32\n"); if (opts->verbose)
printf("FAT type: FAT32\n");
/* get default bpb (but not for floppies) */ /* get default bpb (but not for floppies) */
if (opts->dstDrive >= 2 && if (opts->dstDrive >= 2 &&
generic_block_ioctl(opts->dstDrive + 1, 0x4860, default_bpb) == 0) generic_block_ioctl(opts->dstDrive + 1, 0x4860, default_bpb) == 0)
@ -1547,7 +1555,8 @@ void put_boot(SYSOptions *opts)
} }
else else
{ /* copy the FAT12/16 CHS+LBA boot sector */ { /* copy the FAT12/16 CHS+LBA boot sector */
printf("FAT type: FAT1%c\n", fs + '0' - 10); if (opts->verbose)
printf("FAT type: FAT1%c\n", fs + '0' - 10);
if (opts->dstDrive >= 2 && if (opts->dstDrive >= 2 &&
generic_block_ioctl(opts->dstDrive + 1, 0x860, default_bpb) == 0) generic_block_ioctl(opts->dstDrive + 1, 0x860, default_bpb) == 0)
correct_bpb((struct bootsectortype *)(default_bpb + 7 - 11), bs, opts->verbose); correct_bpb((struct bootsectortype *)(default_bpb + 7 - 11), bs, opts->verbose);
@ -1854,7 +1863,7 @@ int alloc_dos_mem(ULONG memsize, UWORD *theseg)
#endif #endif
/* copies file (path+filename specified by srcFile) to drive:\filename */ /* copies file (path+filename specified by srcFile) to drive:\filename */
BOOL copy(const BYTE *source, COUNT drive, const BYTE * filename) BOOL copy(SYSOptions *opts, const BYTE *source, COUNT drive, const BYTE * filename)
{ {
static BYTE src[SYS_MAXPATH]; static BYTE src[SYS_MAXPATH];
static BYTE dest[SYS_MAXPATH]; static BYTE dest[SYS_MAXPATH];
@ -1872,14 +1881,16 @@ BOOL copy(const BYTE *source, COUNT drive, const BYTE * filename)
struct ftime ftime; struct ftime ftime;
#endif #endif
printf("Copying %s...\n", source); if (opts->verbose)
printf("Copying %s...\n", source);
truename(src, source); truename(src, source);
sprintf(dest, "%c:\\%s", 'A' + drive, filename); sprintf(dest, "%c:\\%s", 'A' + drive, filename);
if (stricmp(src, dest) == 0) if (stricmp(src, dest) == 0)
{ {
printf("%s: source and destination are identical: skipping \"%s\"\n", if (opts->verbose)
pgm, source); printf("%s: source and destination are identical: skipping \"%s\"\n",
pgm, source);
return TRUE; return TRUE;
} }
@ -1927,7 +1938,7 @@ BOOL copy(const BYTE *source, COUNT drive, const BYTE * filename)
{ {
ULONG filesize; ULONG filesize;
UWORD theseg; UWORD theseg;
BYTE far *buffer; BYTE far *bufptr; BYTE far *buffer, far *bufptr;
UWORD offs; UWORD offs;
unsigned chunk_size; unsigned chunk_size;
@ -2015,8 +2026,8 @@ BOOL copy(const BYTE *source, COUNT drive, const BYTE * filename)
/* and close input file, usually same drive as next action will access */ /* and close input file, usually same drive as next action will access */
close(fdin); close(fdin);
if (opts->verbose)
printf("%lu Bytes transferred\n", copied); printf("%lu Bytes transferred\n", copied);
return TRUE; return TRUE;
} /* copy */ } /* copy */