From 1f2647b8affae8bf6907f790a399041812ddf16e Mon Sep 17 00:00:00 2001 From: Pádraig Brady Date: Thu, 18 Sep 2014 14:37:37 +0100 Subject: 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 --- src/system.h | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) (limited to 'src/system.h') 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 -- cgit v1.2.3-54-g00ecf