summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/ptexdir/lib/printversion.c.orig
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/texk/web2c/ptexdir/lib/printversion.c.orig')
-rw-r--r--Build/source/texk/web2c/ptexdir/lib/printversion.c.orig61
1 files changed, 61 insertions, 0 deletions
diff --git a/Build/source/texk/web2c/ptexdir/lib/printversion.c.orig b/Build/source/texk/web2c/ptexdir/lib/printversion.c.orig
new file mode 100644
index 00000000000..bb9874b5244
--- /dev/null
+++ b/Build/source/texk/web2c/ptexdir/lib/printversion.c.orig
@@ -0,0 +1,61 @@
+/* printversion.c: Output for the standard GNU option --version.
+
+ Written in 1996 by Karl Berry. Public domain. */
+
+#include "config.h"
+#include "lib.h"
+#include <kpathsea/version.h>
+
+/* We're passed in the original WEB banner string, which has the form
+This is PROGRAM, Version VERSION-NUMBER
+ We parse the PROGRAM and VERSION-NUMBER out of this.
+
+ If COPYRIGHT_HOLDER is specified and AUTHOR isn't, then use the
+ former for the latter. If AUTHOR is specified and COPYRIGHT_HOLDER
+ isn't, it means the original program is public domain.
+
+ Maybe I should have just done it all inline in each individual
+ program, but tangle doesn't allow multiline string constants ... */
+
+void
+printversionandexit (const_string banner,
+ const_string copyright_holder,
+ const_string author,
+ char *extra_info)
+{
+ string prog_name;
+ unsigned len;
+ const_string prog_name_end = strchr (banner, ',');
+ const_string prog_version = strrchr (banner, ' ');
+ assert (prog_name_end && prog_version);
+ prog_version++;
+
+ len = prog_name_end - banner - sizeof ("This is");
+ prog_name = (string)xmalloc (len + 1);
+ strncpy (prog_name, banner + sizeof ("This is"), len);
+ prog_name[len] = 0;
+
+ /* The Web2c version string starts with a space. */
+ printf ("%s %s%s\n", prog_name, prog_version, versionstring);
+ puts (kpathsea_version_string);
+
+ if (copyright_holder) {
+ printf ("Copyright 2009 %s.\n", copyright_holder);
+ if (!author)
+ author = copyright_holder;
+ }
+
+ puts ("There is NO warranty. Redistribution of this software is");
+ fputs ("covered by the terms of ", stdout);
+ printf ("both the %s copyright and\n", prog_name);
+ puts ("the Lesser GNU General Public License.");
+ puts ("For more information about these matters, see the file");
+ printf ("named COPYING and the %s source.\n", prog_name);
+ printf ("Primary author of %s: %s.\n", prog_name, author);
+
+ if (extra_info) {
+ puts (extra_info);
+ }
+
+ uexit (0);
+}