summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPádraig Brady <P@draigBrady.com>2014-09-18 14:37:37 +0100
committerPádraig Brady <P@draigBrady.com>2014-09-19 11:24:05 +0100
commit1f2647b8affae8bf6907f790a399041812ddf16e (patch)
tree893b7372473ff6cd174662f2afcd8a809acb762c
parented0c3c33c6f7c28e5f05e96e1891251bdd181651 (diff)
downloadcoreutils-1f2647b8affae8bf6907f790a399041812ddf16e.tar.xz
doc: ensure the correct texinfo nodes are referenced in --help
* src/system.h (emit_ancillary_info): For commands that don't have a 1:1 mapping with the texinfo node names, provide a mapping to the correct node. * doc/coreutils.texi: Add some extra cross references noticed while checking this. Fixes http://bugs.debian.org/762092
-rw-r--r--doc/coreutils.texi5
-rw-r--r--src/system.h25
2 files changed, 26 insertions, 4 deletions
diff --git a/doc/coreutils.texi b/doc/coreutils.texi
index fb083f096..1519fcb3e 100644
--- a/doc/coreutils.texi
+++ b/doc/coreutils.texi
@@ -4206,7 +4206,8 @@ The commands @command{sha224sum}, @command{sha256sum},
@command{sha384sum} and @command{sha512sum} compute checksums of
various lengths (respectively 224, 256, 384 and 512 bits),
collectively known as the SHA-2 hashes. The usage and options of
-these commands are precisely the same as for @command{md5sum}.
+these commands are precisely the same as for @command{md5sum}
+and @command{sha1sum}.
@xref{md5sum invocation}.
Note: The SHA384 and SHA512 digests are considerably slower to
@@ -7961,6 +7962,8 @@ and special characters are represented by backslash escape sequences.
-b}; that is, by default files are listed in long format and special
characters are represented by backslash escape sequences.
+@xref{ls invocation, @command{ls}}.
+
@node dircolors invocation
@section @command{dircolors}: Color setup for @command{ls}
diff --git a/src/system.h b/src/system.h
index 1682b3211..b5bbec2f3 100644
--- a/src/system.h
+++ b/src/system.h
@@ -567,7 +567,26 @@ Otherwise, units default to 1024 bytes (or 512 if POSIXLY_CORRECT is set).\n\
static inline void
emit_ancillary_info (void)
{
- char const * program = last_component (program_name);
+ char const *program = last_component (program_name);
+
+ struct infomap { char const *program; char const *node; } const infomap[] = {
+ { "[", "test invocation" },
+ { "coreutils", "Multi-call invocation" },
+ { "sha224sum", "sha2 utilities" },
+ { "sha256sum", "sha2 utilities" },
+ { "sha384sum", "sha2 utilities" },
+ { "sha512sum", "sha2 utilities" },
+ { NULL, NULL }
+ };
+
+ char const *node = program;
+ struct infomap const *map_prog = infomap;
+
+ while (map_prog->program && ! STREQ (program, map_prog->program))
+ map_prog++;
+
+ if (map_prog->node)
+ node = map_prog->node;
printf (_("\n%s online help: <%s>\n"), PACKAGE_NAME, PACKAGE_URL);
@@ -585,8 +604,8 @@ emit_ancillary_info (void)
}
printf (_("Full documentation at: <%s%s>\n"),
PACKAGE_URL, program);
- printf (_("or available locally via: info '(coreutils) %s invocation'\n"),
- program);
+ printf (_("or available locally via: info '(coreutils) %s%s'\n"),
+ node, node == program ? " invocation" : "");
}
static inline void