summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/base64.c5
-rw-r--r--src/basename.c3
-rw-r--r--src/chcon.c4
-rw-r--r--src/cp.c7
-rw-r--r--src/csplit.c7
-rw-r--r--src/cut.c7
-rw-r--r--src/date.c6
-rw-r--r--src/df.c7
-rw-r--r--src/du.c7
-rw-r--r--src/env.c6
-rw-r--r--src/expand.c7
-rw-r--r--src/fmt.c7
-rw-r--r--src/fold.c7
-rw-r--r--src/head.c7
-rw-r--r--src/install.c7
-rw-r--r--src/kill.c7
-rw-r--r--src/ln.c7
-rw-r--r--src/ls.c7
-rw-r--r--src/mkdir.c7
-rw-r--r--src/mkfifo.c7
-rw-r--r--src/mknod.c7
-rw-r--r--src/mv.c7
-rw-r--r--src/nice.c8
-rw-r--r--src/nl.c7
-rw-r--r--src/od.c7
-rw-r--r--src/paste.c7
-rw-r--r--src/pr.c7
-rw-r--r--src/ptx.c7
-rw-r--r--src/runcon.c6
-rw-r--r--src/seq.c6
-rw-r--r--src/shred.c7
-rw-r--r--src/shuf.c7
-rw-r--r--src/sort.c7
-rw-r--r--src/split.c7
-rw-r--r--src/stat.c6
-rw-r--r--src/stdbuf.c7
-rw-r--r--src/stty.c6
-rw-r--r--src/system.h8
-rw-r--r--src/tac.c7
-rw-r--r--src/tail.c7
-rw-r--r--src/timeout.c5
-rw-r--r--src/touch.c7
-rw-r--r--src/truncate.c7
-rw-r--r--src/unexpand.c7
-rw-r--r--src/uniq.c7
45 files changed, 155 insertions, 145 deletions
diff --git a/src/base64.c b/src/base64.c
index 675519fd6..0a4006802 100644
--- a/src/base64.c
+++ b/src/base64.c
@@ -60,7 +60,10 @@ usage (int status)
printf (_("\
Usage: %s [OPTION]... [FILE]\n\
Base64 encode or decode FILE, or standard input, to standard output.\n\
-\n"), program_name);
+"), program_name);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-d, --decode decode data\n\
-i, --ignore-garbage when decoding, ignore non-alphabet characters\n\
diff --git a/src/basename.c b/src/basename.c
index 79ce1df34..074d284d1 100644
--- a/src/basename.c
+++ b/src/basename.c
@@ -53,9 +53,10 @@ Usage: %s NAME [SUFFIX]\n\
fputs (_("\
Print NAME with any leading directory components removed.\n\
If specified, also remove a trailing SUFFIX.\n\
-\n\
"), stdout);
+ emit_mandatory_arg_note ();
+
fputs (_("\
-a, --multiple support multiple arguments and treat each as a NAME\n\
-s, --suffix=SUFFIX remove a trailing SUFFIX\n\
diff --git a/src/chcon.c b/src/chcon.c
index 9051ec61d..56f2caa5f 100644
--- a/src/chcon.c
+++ b/src/chcon.c
@@ -357,8 +357,10 @@ Usage: %s [OPTION]... CONTEXT FILE...\n\
fputs (_("\
Change the security context of each FILE to CONTEXT.\n\
With --reference, change the security context of each FILE to that of RFILE.\n\
-\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
--dereference affect the referent of each symbolic link (this is\n\
the default), rather than the symbolic link itself\n\
diff --git a/src/cp.c b/src/cp.c
index 625ea0bb6..0d64f9f5e 100644
--- a/src/cp.c
+++ b/src/cp.c
@@ -161,11 +161,10 @@ Usage: %s [OPTION]... [-T] SOURCE DEST\n\
program_name, program_name, program_name);
fputs (_("\
Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-a, --archive same as -dR --preserve=all\n\
--attributes-only don't copy the file data, just the attributes\n\
diff --git a/src/csplit.c b/src/csplit.c
index a8b5694cc..22f3ad4b1 100644
--- a/src/csplit.c
+++ b/src/csplit.c
@@ -1455,11 +1455,10 @@ Usage: %s [OPTION]... FILE PATTERN...\n\
fputs (_("\
Output pieces of FILE separated by PATTERN(s) to files 'xx00', 'xx01', ...,\n\
and output byte counts of each piece to standard output.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-b, --suffix-format=FORMAT use sprintf FORMAT instead of %02d\n\
-f, --prefix=PREFIX use PREFIX instead of 'xx'\n\
diff --git a/src/cut.c b/src/cut.c
index 7e877cb4e..4059ecc54 100644
--- a/src/cut.c
+++ b/src/cut.c
@@ -192,11 +192,10 @@ Usage: %s OPTION... [FILE]...\n\
program_name);
fputs (_("\
Print selected parts of lines from each FILE to standard output.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-b, --bytes=LIST select only these bytes\n\
-c, --characters=LIST select only these characters\n\
diff --git a/src/date.c b/src/date.c
index 0a434a6b2..ec66f767c 100644
--- a/src/date.c
+++ b/src/date.c
@@ -127,7 +127,11 @@ Usage: %s [OPTION]... [+FORMAT]\n\
program_name, program_name);
fputs (_("\
Display the current time in the given FORMAT, or set the system date.\n\
-\n\
+"), stdout);
+
+ emit_mandatory_arg_note ();
+
+ fputs (_("\
-d, --date=STRING display time described by STRING, not 'now'\n\
-f, --file=DATEFILE like --date once for each line of DATEFILE\n\
-I[TIMESPEC], --iso-8601[=TIMESPEC] output date/time in ISO 8601 format.\n\
diff --git a/src/df.c b/src/df.c
index 6c4d65323..9523cc16e 100644
--- a/src/df.c
+++ b/src/df.c
@@ -1175,11 +1175,10 @@ usage (int status)
fputs (_("\
Show information about the file system on which each FILE resides,\n\
or all file systems by default.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-a, --all include dummy file systems\n\
-B, --block-size=SIZE scale sizes by SIZE before printing them. E.g.,\n\
diff --git a/src/du.c b/src/du.c
index 9b7f8dec5..538846659 100644
--- a/src/du.c
+++ b/src/du.c
@@ -273,11 +273,10 @@ Usage: %s [OPTION]... [FILE]...\n\
"), program_name, program_name);
fputs (_("\
Summarize disk usage of each FILE, recursively for directories.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-a, --all write counts for all files, not just directories\n\
--apparent-size print apparent sizes, rather than disk usage; although\
diff --git a/src/env.c b/src/env.c
index 4a3f9246e..c31d1658f 100644
--- a/src/env.c
+++ b/src/env.c
@@ -54,7 +54,11 @@ Usage: %s [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]\n"),
program_name);
fputs (_("\
Set each NAME to VALUE in the environment and run COMMAND.\n\
-\n\
+"), stdout);
+
+ emit_mandatory_arg_note ();
+
+ fputs (_("\
-i, --ignore-environment start with an empty environment\n\
-0, --null end each output line with 0 byte rather than newline\n\
-u, --unset=NAME remove variable from the environment\n\
diff --git a/src/expand.c b/src/expand.c
index 11cbacf13..0b12b0259 100644
--- a/src/expand.c
+++ b/src/expand.c
@@ -107,11 +107,10 @@ Usage: %s [OPTION]... [FILE]...\n\
fputs (_("\
Convert tabs in each FILE to spaces, writing to standard output.\n\
With no FILE, or when FILE is -, read standard input.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-i, --initial do not convert tabs after non blanks\n\
-t, --tabs=NUMBER have tabs NUMBER characters apart, not 8\n\
diff --git a/src/fmt.c b/src/fmt.c
index 750401dd5..d3f536906 100644
--- a/src/fmt.c
+++ b/src/fmt.c
@@ -271,11 +271,10 @@ usage (int status)
fputs (_("\
Reformat each paragraph in the FILE(s), writing to standard output.\n\
The option -WIDTH is an abbreviated form of --width=DIGITS.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-c, --crown-margin preserve indentation of first two lines\n\
-p, --prefix=STRING reformat only lines beginning with STRING,\n\
diff --git a/src/fold.c b/src/fold.c
index c741da2ab..e2358651a 100644
--- a/src/fold.c
+++ b/src/fold.c
@@ -70,11 +70,10 @@ Usage: %s [OPTION]... [FILE]...\n\
fputs (_("\
Wrap input lines in each FILE (standard input by default), writing to\n\
standard output.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-b, --bytes count bytes rather than columns\n\
-s, --spaces break at spaces\n\
diff --git a/src/head.c b/src/head.c
index cf84a9518..306c1b884 100644
--- a/src/head.c
+++ b/src/head.c
@@ -110,11 +110,10 @@ Usage: %s [OPTION]... [FILE]...\n\
Print the first 10 lines of each FILE to standard output.\n\
With more than one FILE, precede each with a header giving the file name.\n\
With no FILE, or when FILE is -, read standard input.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-c, --bytes=[-]K print the first K bytes of each file;\n\
with the leading '-', print all but the last\n\
diff --git a/src/install.c b/src/install.c
index cefee0c91..55333c257 100644
--- a/src/install.c
+++ b/src/install.c
@@ -608,11 +608,10 @@ like yum(1) or apt-get(1).\n\
In the first three forms, copy SOURCE to DEST or multiple SOURCE(s) to\n\
the existing DIRECTORY, while setting permission modes and owner/group.\n\
In the 4th form, create all components of the given DIRECTORY(ies).\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
--backup[=CONTROL] make a backup of each existing destination file\n\
-b like --backup but does not accept an argument\n\
diff --git a/src/kill.c b/src/kill.c
index 76f013c8d..d1b836b6b 100644
--- a/src/kill.c
+++ b/src/kill.c
@@ -81,11 +81,10 @@ Usage: %s [-s SIGNAL | -SIGNAL] PID...\n\
program_name, program_name, program_name);
fputs (_("\
Send signals to processes, or list signals.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-s, --signal=SIGNAL, -SIGNAL\n\
specify the name or number of the signal to be sent\n\
diff --git a/src/ln.c b/src/ln.c
index c85fc96cf..e6c01b3fa 100644
--- a/src/ln.c
+++ b/src/ln.c
@@ -387,11 +387,10 @@ By default, each destination (name of new link) should not already exist.\n\
When creating hard links, each TARGET must exist. Symbolic links\n\
can hold arbitrary text; if later resolved, a relative link is\n\
interpreted in relation to its parent directory.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
--backup[=CONTROL] make a backup of each existing destination file\n\
-b like --backup but does not accept an argument\n\
diff --git a/src/ls.c b/src/ls.c
index 37f610984..f1ed43bd2 100644
--- a/src/ls.c
+++ b/src/ls.c
@@ -4721,11 +4721,10 @@ usage (int status)
fputs (_("\
List information about the FILEs (the current directory by default).\n\
Sort entries alphabetically if none of -cftuvSUX nor --sort is specified.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-a, --all do not ignore entries starting with .\n\
-A, --almost-all do not list implied . and ..\n\
diff --git a/src/mkdir.c b/src/mkdir.c
index 5f49395cd..a94f96e14 100644
--- a/src/mkdir.c
+++ b/src/mkdir.c
@@ -56,11 +56,10 @@ usage (int status)
printf (_("Usage: %s [OPTION]... DIRECTORY...\n"), program_name);
fputs (_("\
Create the DIRECTORY(ies), if they do not already exist.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-m, --mode=MODE set file mode (as in chmod), not a=rwx - umask\n\
-p, --parents no error if existing, make parent directories as needed\n\
diff --git a/src/mkfifo.c b/src/mkfifo.c
index 06ce5e9bd..76291e5bc 100644
--- a/src/mkfifo.c
+++ b/src/mkfifo.c
@@ -51,11 +51,10 @@ usage (int status)
printf (_("Usage: %s [OPTION]... NAME...\n"), program_name);
fputs (_("\
Create named pipes (FIFOs) with the given NAMEs.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n\
"), stdout);
diff --git a/src/mknod.c b/src/mknod.c
index 14fcec71f..7cfc708d3 100644
--- a/src/mknod.c
+++ b/src/mknod.c
@@ -53,11 +53,10 @@ usage (int status)
program_name);
fputs (_("\
Create the special file NAME of the given TYPE.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-m, --mode=MODE set file permission bits to MODE, not a=rw - umask\n\
"), stdout);
diff --git a/src/mv.c b/src/mv.c
index cb5cb320e..a5e8e089d 100644
--- a/src/mv.c
+++ b/src/mv.c
@@ -291,11 +291,10 @@ Usage: %s [OPTION]... [-T] SOURCE DEST\n\
program_name, program_name, program_name);
fputs (_("\
Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
--backup[=CONTROL] make a backup of each existing destination file\
\n\
diff --git a/src/nice.c b/src/nice.c
index ce2b6e77a..04fd3bf6c 100644
--- a/src/nice.c
+++ b/src/nice.c
@@ -74,10 +74,14 @@ usage (int status)
Run COMMAND with an adjusted niceness, which affects process scheduling.\n\
With no COMMAND, print the current niceness. Niceness values range from\n\
%d (most favorable to the process) to %d (least favorable to the process).\n\
-\n\
- -n, --adjustment=N add integer N to the niceness (default 10)\n\
"),
- NZERO, NZERO - 1);
+
+ emit_mandatory_arg_note ();
+
+ fputs (_("\
+ -n, --adjustment=N add integer N to the niceness (default 10)\n\
+"), stdout);
fputs (HELP_OPTION_DESCRIPTION, stdout);
fputs (VERSION_OPTION_DESCRIPTION, stdout);
printf (USAGE_BUILTIN_WARNING, PROGRAM_NAME);
diff --git a/src/nl.c b/src/nl.c
index a70134006..96716aa10 100644
--- a/src/nl.c
+++ b/src/nl.c
@@ -179,11 +179,10 @@ Usage: %s [OPTION]... [FILE]...\n\
fputs (_("\
Write each FILE to standard output, with line numbers added.\n\
With no FILE, or when FILE is -, read standard input.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-b, --body-numbering=STYLE use STYLE for numbering body lines\n\
-d, --section-delimiter=CC use CC for separating logical pages\n\
diff --git a/src/od.c b/src/od.c
index e7ec59a2e..ffccd7410 100644
--- a/src/od.c
+++ b/src/od.c
@@ -311,11 +311,10 @@ An OFFSET operand means -j OFFSET. LABEL is the pseudo-address\n\
at first byte printed, incremented when dump is progressing.\n\
For OFFSET and LABEL, a 0x or 0X prefix indicates hexadecimal;\n\
suffixes may be . for octal and b for multiply by 512.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-A, --address-radix=RADIX output format for file offsets. RADIX is one\n\
of [doxn], for Decimal, Octal, Hex or None\n\
diff --git a/src/paste.c b/src/paste.c
index a48eda846..bc9fa76c9 100644
--- a/src/paste.c
+++ b/src/paste.c
@@ -440,11 +440,10 @@ Usage: %s [OPTION]... [FILE]...\n\
Write lines consisting of the sequentially corresponding lines from\n\
each FILE, separated by TABs, to standard output.\n\
With no FILE, or when FILE is -, read standard input.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-d, --delimiters=LIST reuse characters from LIST instead of TABs\n\
-s, --serial paste one file at a time instead of in parallel\n\
diff --git a/src/pr.c b/src/pr.c
index ac6ec5044..f4b0b694a 100644
--- a/src/pr.c
+++ b/src/pr.c
@@ -2756,11 +2756,10 @@ Usage: %s [OPTION]... [FILE]...\n\
fputs (_("\
Paginate or columnate FILE(s) for printing.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
+FIRST_PAGE[:LAST_PAGE], --pages=FIRST_PAGE[:LAST_PAGE]\n\
begin [stop] printing with page FIRST_[LAST_]PAGE\n\
diff --git a/src/ptx.c b/src/ptx.c
index fb28b0ea2..f99367328 100644
--- a/src/ptx.c
+++ b/src/ptx.c
@@ -1820,11 +1820,10 @@ Usage: %s [OPTION]... [INPUT]... (without -G)\n\
program_name, program_name);
fputs (_("\
Output a permuted index, including context, of the words in the input files.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-A, --auto-reference output automatically generated references\n\
-G, --traditional behave more like System V 'ptx'\n\
diff --git a/src/runcon.c b/src/runcon.c
index 554877625..8a0b34e95 100644
--- a/src/runcon.c
+++ b/src/runcon.c
@@ -87,7 +87,11 @@ Usage: %s CONTEXT COMMAND [args]\n\
fputs (_("\
Run a program in a different security context.\n\
With neither CONTEXT nor COMMAND, print the current security context.\n\
-\n\
+"), stdout);
+
+ emit_mandatory_arg_note ();
+
+ fputs (_("\
CONTEXT Complete security context\n\
-c, --compute compute process transition context before modifying\n\
-t, --type=TYPE type (for same role as parent)\n\
diff --git a/src/seq.c b/src/seq.c
index e1b467c70..22e5ec5da 100644
--- a/src/seq.c
+++ b/src/seq.c
@@ -72,7 +72,11 @@ Usage: %s [OPTION]... LAST\n\
"), program_name, program_name, program_name);
fputs (_("\
Print numbers from FIRST to LAST, in steps of INCREMENT.\n\
-\n\
+"), stdout);
+
+ emit_mandatory_arg_note ();
+
+ fputs (_("\
-f, --format=FORMAT use printf style floating-point FORMAT\n\
-s, --separator=STRING use STRING to separate numbers (default: \\n)\n\
-w, --equal-width equalize width by padding with leading zeroes\n\
diff --git a/src/shred.c b/src/shred.c
index 3b5bd3fa2..9b869cdcb 100644
--- a/src/shred.c
+++ b/src/shred.c
@@ -148,11 +148,10 @@ usage (int status)
fputs (_("\
Overwrite the specified FILE(s) repeatedly, in order to make it harder\n\
for even very expensive hardware probing to recover the data.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
printf (_("\
-f, --force change permissions to allow writing if necessary\n\
-n, --iterations=N overwrite N times instead of the default (%d)\n\
diff --git a/src/shuf.c b/src/shuf.c
index 09d245a70..71ac3e60c 100644
--- a/src/shuf.c
+++ b/src/shuf.c
@@ -53,11 +53,10 @@ Usage: %s [OPTION]... [FILE]\n\
program_name, program_name, program_name);
fputs (_("\
Write a random permutation of the input lines to standard output.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-e, --echo treat each ARG as an input line\n\
-i, --input-range=LO-HI treat each number LO through HI as an input line\n\
diff --git a/src/sort.c b/src/sort.c
index 43f8f5123..7410abca6 100644
--- a/src/sort.c
+++ b/src/sort.c
@@ -398,11 +398,10 @@ Usage: %s [OPTION]... [FILE]...\n\
program_name, program_name);
fputs (_("\
Write sorted concatenation of all FILE(s) to standard output.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
Ordering options:\n\
\n\
diff --git a/src/split.c b/src/split.c
index 9774cc658..e5e75f0f5 100644
--- a/src/split.c
+++ b/src/split.c
@@ -209,11 +209,10 @@ Usage: %s [OPTION]... [INPUT [PREFIX]]\n\
Output fixed-size pieces of INPUT to PREFIXaa, PREFIXab, ...; default\n\
size is 1000 lines, and default PREFIX is 'x'. With no INPUT, or when INPUT\n\
is -, read standard input.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fprintf (stdout, _("\
-a, --suffix-length=N generate suffixes of length N (default %d)\n\
--additional-suffix=SUFFIX append an additional SUFFIX to file names.\n\
diff --git a/src/stat.c b/src/stat.c
index 92567ba3f..dd210d181 100644
--- a/src/stat.c
+++ b/src/stat.c
@@ -1349,7 +1349,11 @@ usage (int status)
printf (_("Usage: %s [OPTION]... FILE...\n"), program_name);
fputs (_("\
Display file or file system status.\n\
-\n\
+"), stdout);
+
+ emit_mandatory_arg_note ();
+
+ fputs (_("\
-L, --dereference follow links\n\
-f, --file-system display file system status instead of file status\n\
"), stdout);
diff --git a/src/stdbuf.c b/src/stdbuf.c
index bdea0b1fd..38e9bee7c 100644
--- a/src/stdbuf.c
+++ b/src/stdbuf.c
@@ -90,11 +90,10 @@ usage (int status)
printf (_("Usage: %s OPTION... COMMAND\n"), program_name);
fputs (_("\
Run COMMAND, with modified buffering operations for its standard streams.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-i, --input=MODE adjust standard input stream buffering\n\
-o, --output=MODE adjust standard output stream buffering\n\
diff --git a/src/stty.c b/src/stty.c
index 578696ce2..fe0f22f8f 100644
--- a/src/stty.c
+++ b/src/stty.c
@@ -515,7 +515,11 @@ Usage: %s [-F DEVICE | --file=DEVICE] [SETTING]...\n\
program_name, program_name, program_name);
fputs (_("\
Print or change terminal characteristics.\n\
-\n\
+"), stdout);
+
+ emit_mandatory_arg_note ();
+
+ fputs (_("\
-a, --all print all current settings in human-readable form\n\
-g, --save print all current settings in a stty-readable form\n\
-F, --file=DEVICE open and use the specified DEVICE instead of stdin\n\
diff --git a/src/system.h b/src/system.h
index a13a566fa..1677999ef 100644
--- a/src/system.h
+++ b/src/system.h
@@ -539,6 +539,14 @@ is_nul (const char *buf, size_t bufsize)
)
static inline void
+emit_mandatory_arg_note (void)
+{
+ fputs (_("\n\
+Mandatory arguments to long options are mandatory for short options too.\n\
+"), stdout);
+}
+
+static inline void
emit_size_note (void)
{
fputs (_("\n\
diff --git a/src/tac.c b/src/tac.c
index 20a45bfc2..c6a8cf695 100644
--- a/src/tac.c
+++ b/src/tac.c
@@ -137,11 +137,10 @@ Usage: %s [OPTION]... [FILE]...\n\
fputs (_("\
Write each FILE to standard output, last line first.\n\
With no FILE, or when FILE is -, read standard input.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-b, --before attach the separator before instead of after\n\
-r, --regex interpret the separator as a regular expression\n\
diff --git a/src/tail.c b/src/tail.c
index ba8443ce1..ca851ee6f 100644
--- a/src/tail.c
+++ b/src/tail.c
@@ -263,11 +263,10 @@ Usage: %s [OPTION]... [FILE]...\n\
Print the last %d lines of each FILE to standard output.\n\
With more than one FILE, precede each with a header giving the file name.\n\
With no FILE, or when FILE is -, read standard input.\n\
-\n\
"), DEFAULT_N_LINES);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
-"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-c, --bytes=K output the last K bytes; alternatively, use -c +K\n\
to output bytes starting with the Kth of each file\n\
diff --git a/src/timeout.c b/src/timeout.c
index 1598dd2bd..b163a0ee8 100644
--- a/src/timeout.c
+++ b/src/timeout.c
@@ -213,9 +213,10 @@ Usage: %s [OPTION] DURATION COMMAND [ARG]...\n\
fputs (_("\
Start COMMAND, and kill it if still running after DURATION.\n\
-\n\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
--preserve-status\n\
exit with the same status as COMMAND, even when the\n\
diff --git a/src/touch.c b/src/touch.c
index d4e4bff6c..2806ef71d 100644
--- a/src/touch.c
+++ b/src/touch.c
@@ -218,11 +218,10 @@ is supplied.\n\
\n\
A FILE argument string of - is handled specially and causes touch to\n\
change the times of the file associated with standard output.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-a change only the access time\n\
-c, --no-create do not create any files\n\
diff --git a/src/truncate.c b/src/truncate.c
index bb095fe7e..44ff1cf47 100644
--- a/src/truncate.c
+++ b/src/truncate.c
@@ -102,11 +102,10 @@ A FILE argument that does not exist is created.\n\
If a FILE is larger than the specified size, the extra data is lost.\n\
If a FILE is shorter, it is extended and the extended part (hole)\n\
reads as zero bytes.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-c, --no-create do not create any files\n\
"), stdout);
diff --git a/src/unexpand.c b/src/unexpand.c
index 1fcb0fd7a..1803cd57d 100644
--- a/src/unexpand.c
+++ b/src/unexpand.c
@@ -117,11 +117,10 @@ Usage: %s [OPTION]... [FILE]...\n\
fputs (_("\
Convert blanks in each FILE to tabs, writing to standard output.\n\
With no FILE, or when FILE is -, read standard input.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-a, --all convert all blanks, instead of just initial blanks\n\
--first-only convert only leading sequences of blanks (overrides -a)\n\
diff --git a/src/uniq.c b/src/uniq.c
index 707395836..5efdad7d4 100644
--- a/src/uniq.c
+++ b/src/uniq.c
@@ -140,11 +140,10 @@ Filter adjacent matching lines from INPUT (or standard input),\n\
writing to OUTPUT (or standard output).\n\
\n\
With no options, matching lines are merged to the first occurrence.\n\
-\n\
-"), stdout);
- fputs (_("\
-Mandatory arguments to long options are mandatory for short options too.\n\
"), stdout);
+
+ emit_mandatory_arg_note ();
+
fputs (_("\
-c, --count prefix lines by the number of occurrences\n\
-d, --repeated only print duplicate lines\n\