# HG changeset patch # User Matti Hamalainen # Date 1578855045 -7200 # Node ID b7cd5dd0b82e847f49eccbfcc25ceb6d82015fcb # Parent 263093248f26e19191bed4538754f54f917b9404 Merge one more change from th-libs args processing. diff -r 263093248f26 -r b7cd5dd0b82e src/dmargs.c --- a/src/dmargs.c Sun Jan 12 19:32:29 2020 +0200 +++ b/src/dmargs.c Sun Jan 12 20:50:45 2020 +0200 @@ -254,7 +254,9 @@ } -static void dmArgsPrintHelpPrintItem(FILE *fh, const DMOptArg *opt, int *lineWidth, const int maxLineWidth, const BOOL doPrint) +static void dmArgsPrintHelpPrintItem(FILE *fh, const DMOptArg *opt, + int *optWidth, const int maxOptWidth, const int termWidth, + const BOOL doPrint) { const char *arg = dmArgsGetOptArg(opt); char fmtBuf[32]; @@ -274,16 +276,16 @@ opt->o_short); } - *lineWidth = strlen(fmtBuf); + *optWidth = strlen(fmtBuf); if (doPrint) - padWidth = hasLongOpt ? 2 : maxLineWidth - *lineWidth; + padWidth = hasLongOpt ? 2 : maxOptWidth - *optWidth; else padWidth = 2; } else { fmtBuf[0] = 0; - *lineWidth = 0; + *optWidth = 0; padWidth = 4 + 2; } @@ -292,7 +294,7 @@ fputs(fmtBuf, fh); dmPrintPad(fh, padWidth, ' '); } - *lineWidth += padWidth; + *optWidth += padWidth; if (hasLongOpt) { @@ -307,19 +309,19 @@ opt->o_long); } - *lineWidth += strlen(fmtBuf); + *optWidth += strlen(fmtBuf); } else fmtBuf[0] = 0; if (doPrint) { - padWidth = hasLongOpt ? maxLineWidth - *lineWidth : 0; - *lineWidth += padWidth; + padWidth = hasLongOpt ? maxOptWidth - *optWidth : 0; + *optWidth += padWidth; fputs(fmtBuf, fh); dmPrintPad(fh, padWidth, ' '); - dmPrintWrap(fh, *lineWidth, *lineWidth, 79, opt->desc); + dmPrintWrap(fh, *optWidth, *optWidth, termWidth, opt->desc); } } @@ -330,30 +332,30 @@ * @param opts options list array * @param nopts number of elements in options list array * @param flags flags (currently unused) + * @param width width of the terminal or desired width of the print out */ void dmArgsPrintHelp(FILE *fh, const DMOptArg *opts, - const int nopts, const int flags) + const int nopts, const int flags, const int width) { - int index, maxLineWidth; - + int index, maxOptWidth; (void) flags; // Determine width of the options and arguments - maxLineWidth = 0; + maxOptWidth = 0; for (index = 0; index < nopts; index++) { - int lineWidth = 0; - dmArgsPrintHelpPrintItem(NULL, &opts[index], &lineWidth, 0, FALSE); - if (lineWidth > maxLineWidth) - maxLineWidth = lineWidth; + int optWidth = 0; + dmArgsPrintHelpPrintItem(NULL, &opts[index], &optWidth, 0, width, FALSE); + if (optWidth > maxOptWidth) + maxOptWidth = optWidth; } - maxLineWidth += 2; + maxOptWidth += 2; // Print out the formatted option list for (index = 0; index < nopts; index++) { - int lineWidth; - dmArgsPrintHelpPrintItem(fh, &opts[index], &lineWidth, maxLineWidth, TRUE); + int optWidth; + dmArgsPrintHelpPrintItem(fh, &opts[index], &optWidth, maxOptWidth, width, TRUE); } } diff -r 263093248f26 -r b7cd5dd0b82e src/dmargs.h --- a/src/dmargs.h Sun Jan 12 19:32:29 2020 +0200 +++ b/src/dmargs.h Sun Jan 12 20:50:45 2020 +0200 @@ -51,10 +51,10 @@ BOOL (*handle_other)(char *), const int flags); void dmArgsPrintHelp(FILE *fh, const DMOptArg *opts, - const int nopts, const int flags); + const int nopts, const int flags, const int width); -void dmPrintWrap(FILE *fh, const int spad, const int rpad, - const int width, const char *str); +void dmPrintWrap(FILE *fh, const int spad, + const int rpad, const int width, const char *str); #ifdef __cplusplus } diff -r 263093248f26 -r b7cd5dd0b82e tests/blittest.c --- a/tests/blittest.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tests/blittest.c Sun Jan 12 20:50:45 2020 +0200 @@ -29,7 +29,7 @@ void argShowHelp() { - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); } diff -r 263093248f26 -r b7cd5dd0b82e tests/dzlibtest.c --- a/tests/dzlibtest.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tests/dzlibtest.c Sun Jan 12 20:50:45 2020 +0200 @@ -32,7 +32,7 @@ void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options] [input filename] [output filename]"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); } diff -r 263093248f26 -r b7cd5dd0b82e tools/64vw.c --- a/tools/64vw.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/64vw.c Sun Jan 12 20:50:45 2020 +0200 @@ -60,7 +60,7 @@ void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options] "); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); fprintf(stdout, "\n" diff -r 263093248f26 -r b7cd5dd0b82e tools/data2inc.c --- a/tools/data2inc.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/data2inc.c Sun Jan 12 20:50:45 2020 +0200 @@ -76,7 +76,7 @@ dmPrintBanner(stdout, dmProgName, "[options] [sourcefile] [destfile]"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); fprintf(stdout, "\n" diff -r 263093248f26 -r b7cd5dd0b82e tools/dumpmod.c --- a/tools/dumpmod.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/dumpmod.c Sun Jan 12 20:50:45 2020 +0200 @@ -38,7 +38,7 @@ void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options] [modfile]"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); } diff -r 263093248f26 -r b7cd5dd0b82e tools/fanalyze.c --- a/tools/fanalyze.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/fanalyze.c Sun Jan 12 20:50:45 2020 +0200 @@ -178,7 +178,7 @@ void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options] [...]"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); fprintf(stdout, "\n" diff -r 263093248f26 -r b7cd5dd0b82e tools/fontconv.c --- a/tools/fontconv.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/fontconv.c Sun Jan 12 20:50:45 2020 +0200 @@ -44,7 +44,7 @@ dmPrintBanner(stdout, dmProgName, "[options] "); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); printf( "\n" "This utility can be used to convert TSFONT files to bitmap DMFONT (DMF)\n" diff -r 263093248f26 -r b7cd5dd0b82e tools/gentab.c --- a/tools/gentab.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/gentab.c Sun Jan 12 20:50:45 2020 +0200 @@ -77,7 +77,7 @@ { int index; dmPrintBanner(stdout, dmProgName, "[options]"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); printf("\nAvailable types:\n"); for (index = 0; index < MT_LAST; index++) diff -r 263093248f26 -r b7cd5dd0b82e tools/gfxconv.c --- a/tools/gfxconv.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/gfxconv.c Sun Jan 12 20:50:45 2020 +0200 @@ -216,7 +216,7 @@ void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options] "); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); fprintf(stdout, "\n" diff -r 263093248f26 -r b7cd5dd0b82e tools/mod2wav.c --- a/tools/mod2wav.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/mod2wav.c Sun Jan 12 20:50:45 2020 +0200 @@ -90,7 +90,7 @@ dmPrintBanner(stdout, dmProgName, "[options] [sourcefile] [destfile.wav]"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); exit(0); break; diff -r 263093248f26 -r b7cd5dd0b82e tools/objlink.c --- a/tools/objlink.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/objlink.c Sun Jan 12 20:50:45 2020 +0200 @@ -170,7 +170,7 @@ void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options]"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); printf( "\n" diff -r 263093248f26 -r b7cd5dd0b82e tools/packed.c --- a/tools/packed.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/packed.c Sun Jan 12 20:50:45 2020 +0200 @@ -80,7 +80,7 @@ fprintf(stdout, "\n"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); fprintf(stdout, "\n" diff -r 263093248f26 -r b7cd5dd0b82e tools/ppl.c --- a/tools/ppl.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/ppl.c Sun Jan 12 20:50:45 2020 +0200 @@ -91,7 +91,7 @@ void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options] "); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); } diff -r 263093248f26 -r b7cd5dd0b82e tools/xm2jss.c --- a/tools/xm2jss.c Sun Jan 12 19:32:29 2020 +0200 +++ b/tools/xm2jss.c Sun Jan 12 20:50:45 2020 +0200 @@ -65,7 +65,7 @@ void argShowHelp() { dmPrintBanner(stdout, dmProgName, "[options] "); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); printf("\n" "Pattern storage modes:\n");