Mercurial > hg > dmlib
changeset 2402:b7cd5dd0b82e
Merge one more change from th-libs args processing.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Sun, 12 Jan 2020 20:50:45 +0200 |
parents | 263093248f26 |
children | 6e86a048a760 |
files | src/dmargs.c src/dmargs.h tests/blittest.c tests/dzlibtest.c tools/64vw.c tools/data2inc.c tools/dumpmod.c tools/fanalyze.c tools/fontconv.c tools/gentab.c tools/gfxconv.c tools/mod2wav.c tools/objlink.c tools/packed.c tools/ppl.c tools/xm2jss.c |
diffstat | 16 files changed, 39 insertions(+), 37 deletions(-) [+] |
line wrap: on
line diff
--- 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); } }
--- 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 }
--- 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); }
--- 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); }
--- 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] <input image file(s)>"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); fprintf(stdout, "\n"
--- 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"
--- 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); }
--- 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] <input file #1> <input file #2> [...]"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); fprintf(stdout, "\n"
--- 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] <sourcefile.(ttf|fnt|dmf|png)> <outputfile.dmf>"); - 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"
--- 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++)
--- 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] <input file>"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); fprintf(stdout, "\n"
--- 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;
--- 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"
--- 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"
--- 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] <module>"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); }
--- 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] <input.xm> <output.jmod>"); - dmArgsPrintHelp(stdout, optList, optListN, 0); + dmArgsPrintHelp(stdout, optList, optListN, 0, 80 - 2); printf("\n" "Pattern storage modes:\n");