diff options
author | Jim Meyering <jim@meyering.net> | 2003-09-18 19:39:12 +0000 |
---|---|---|
committer | Jim Meyering <jim@meyering.net> | 2003-09-18 19:39:12 +0000 |
commit | c6ec14449470fce01a93bd0724ea3146c3ba3e7e (patch) | |
tree | 6a222465ed5113f2f2f011396c07b2cefcae946f /lib/version-etc.c | |
parent | 2c5fbb29a6c44279b909a2a781cd2c3cb84bad0f (diff) | |
download | coreutils-c6ec14449470fce01a93bd0724ea3146c3ba3e7e.tar.xz |
revert previous change
Diffstat (limited to 'lib/version-etc.c')
-rw-r--r-- | lib/version-etc.c | 104 |
1 files changed, 12 insertions, 92 deletions
diff --git a/lib/version-etc.c b/lib/version-etc.c index 031c2e921..663aa8dcf 100644 --- a/lib/version-etc.c +++ b/lib/version-etc.c @@ -21,13 +21,9 @@ # include <config.h> #endif -#include <stdarg.h> #include <stdio.h> -#include <stdlib.h> -#include <string.h> #include "unlocked-io.h" #include "version-etc.h" -#include "xalloc.h" #include "gettext.h" #define _(msgid) gettext (msgid) @@ -39,77 +35,26 @@ char* version_etc_copyright = "Copyright (C) 2003 Free Software Foundation, Inc."; -/* Like version_etc, below, but with the NULL-terminated author list - provided via a variable of type va_list. */ -void -version_etc_va (FILE *stream, - char const *command_name, char const *package, - char const *version, va_list authors) -{ - unsigned int n_authors; - va_list saved_authors; +/* Display the --version information the standard way. -#ifdef __va_copy - __va_copy (saved_authors, authors); -#else - saved_authors = authors; -#endif + If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of + the program. The formats are therefore: - for (n_authors = 0; va_arg (authors, char const *); ++n_authors) - { - /* empty */ - } - va_end (authors); + PACKAGE VERSION - if (n_authors == 0) - abort (); + or + COMMAND_NAME (PACKAGE) VERSION. */ +void +version_etc (FILE *stream, + const char *command_name, const char *package, + const char *version, const char *authors) +{ if (command_name) fprintf (stream, "%s (%s) %s\n", command_name, package, version); else fprintf (stream, "%s %s\n", package, version); - - switch (n_authors) - { - case 1: - vfprintf (stream, _("Written by %s.\n"), saved_authors); - break; - case 2: - vfprintf (stream, _("Written by %s and %s.\n"), saved_authors); - break; - case 3: - vfprintf (stream, _("Written by %s, %s, and %s.\n"), saved_authors); - break; - case 4: - vfprintf (stream, _("Written by %s, %s, %s, and %s.\n"), saved_authors); - break; - default: - { - - /* Note that the following must have one `%s' and one `%%s'. */ -#define FMT_TEMPLATE _("Written by %sand %%s.\n") - - /* for the string "%s, %s, ..., %s, " */ - size_t s_len = (n_authors - 1) * strlen ("%s, "); - char *s_fmt = xmalloc (s_len + 1); - - /* This could be a few bytes tighter, but don't bother because - that'd just make it a little more fragile. */ - char *full_fmt = xmalloc (strlen (FMT_TEMPLATE) + s_len + 1); - - unsigned int i; - char *s = s_fmt; - for (i = 0; i < n_authors - 1; i++) - s = stpcpy (s, "%s, "); - sprintf (full_fmt, FMT_TEMPLATE, s_fmt); - free (s_fmt); - - vfprintf (stream, full_fmt, saved_authors); - free (full_fmt); - } - break; - } - va_end (saved_authors); + fprintf (stream, _("Written by %s.\n"), authors); putc ('\n', stream); fputs (version_etc_copyright, stream); @@ -120,28 +65,3 @@ This is free software; see the source for copying conditions. There is NO\n\ warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"), stream); } - - -/* Display the --version information the standard way. - - If COMMAND_NAME is NULL, the PACKAGE is asumed to be the name of - the program. The formats are therefore: - - PACKAGE VERSION - - or - - COMMAND_NAME (PACKAGE) VERSION. - - There must be one or more author names (each as a separate string) - after the VERSION argument, and the final argument must be `NULL'. */ -void -version_etc (FILE *stream, - char const *command_name, char const *package, - char const *version, ...) -{ - va_list authors; - - va_start (authors, version); - version_etc_va (stream, command_name, package, version, authors); -} |