On Tuesday 20 June 2017, Karel Zak wrote: > On Sun, Jun 18, 2017 at 08:49:49PM -0400, J William Piggott wrote: > > sys-utils/hwclock.c | 74 > > ++++++++++++++++++++++++++--------------------------- 1 file > > changed, 37 insertions(+), 37 deletions(-) > > It would be better to remove this patch from the pull-request; let's > keep fputs() in the code and wait for any solution from Rudi :-) I have now finished my cleanup regarding stdout only. To make the diffs small I have left a useless definition "FILE *out = stdout;" in almost any usage function. We can remove this "out" variable now everwhere using a sed or awk. But a few questions about what would be the best end state. 1. fputs vs puts?: Is it a problem for translators if we remove a newline from almost any string? And, does puts() look more nice at all? I mean many usage functions have to use printf too, so does it look good if some strings are '\n' terminated and others not? 2. Alignment for better readabilty in the code. I would prefer leading spaces before the first string argument to match the longest possible prefix 'printf(_("'. Is that ok?: puts( _(" -q quiet mode")); fputs( _(" -v, --verbose verbose mode"), stdout); printf(_(" -f, --rtc use alternate to %1$s\n"), _BLA); printf( " --help %s\n", USAGE_OPTSTR_HELP); 3. Maybe we should always decouple options and descriptions? Introducing a macro like: #define prnt_opt(opt, marg_dsc, dsc) \ printf( "%-" #marg_dsc "s%s\n", opt, dscr) /* the magic margin number for the whole function */ int m = 16; prnt_opt(" -q", m, _("quiet mode"); prnt_opt(" -v, --verbose", m, _("verbose mode"); prnt_opt(" --help", m, USAGE_OPTSTR_HELP); /* or standard help, as exist already */ print_usage_help_options(m); 4. About our USAGE_* macros We can remove the trailing newlines in all macros if puts() is preferred (regarding 1.). Or we can just let them print like print_usage_help_options(). 5. We can leave everything as is and touch all these usage lines only if needed. For example I did it without extra noise in a861538c. Karel missed his chance in 4fb515f9 ;) Note since introducing print_usage_help_options() we *are* already mixing hardcoded stdout and variable out. So we can also convert single lines from fprintf to printf, like i did in my last pending hwclock patch "don't ifdef printf arguments". cu, Rudi -- To unsubscribe from this list: send the line "unsubscribe util-linux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html