summaryrefslogtreecommitdiffstats
path: root/contrib/less/mkhelp.c
diff options
context:
space:
mode:
authorps <ps@FreeBSD.org>2000-05-22 09:53:22 +0000
committerps <ps@FreeBSD.org>2000-05-22 09:53:22 +0000
commit1b28029810e9c377087ea5a45acc8767cf0196b3 (patch)
tree27b16fc210b9a302c9e74f90e36a9b5ed21e6300 /contrib/less/mkhelp.c
downloadFreeBSD-src-1b28029810e9c377087ea5a45acc8767cf0196b3.zip
FreeBSD-src-1b28029810e9c377087ea5a45acc8767cf0196b3.tar.gz
Import the [now] dual licensed version 3.5.4 of less. It is
distributed under your choice of the GPL or a BSD style license. Reviewed by: peter Obtained from: http://home.flash.net/~marknu/less/
Diffstat (limited to 'contrib/less/mkhelp.c')
-rw-r--r--contrib/less/mkhelp.c69
1 files changed, 69 insertions, 0 deletions
diff --git a/contrib/less/mkhelp.c b/contrib/less/mkhelp.c
new file mode 100644
index 0000000..1fd322d
--- /dev/null
+++ b/contrib/less/mkhelp.c
@@ -0,0 +1,69 @@
+/*
+ * Copyright (C) 1984-2000 Mark Nudelman
+ *
+ * You may distribute under the terms of either the GNU General Public
+ * License or the Less License, as specified in the README file.
+ *
+ * For more information about less, or for information on how to
+ * contact the author, see the README file.
+ */
+
+
+/*
+ * Silly little program to generate the help.c source file
+ * from the less.hlp text file.
+ * help.c just contains a char array whose contents are
+ * the contents of less.hlp.
+ */
+
+#include <stdio.h>
+
+ int
+main(argc, argv)
+ int argc;
+ char *argv[];
+{
+ int ch;
+ int prevch;
+
+ printf("/* This file was generated by mkhelp from less.hlp */\n");
+ printf("#include \"less.h\"\n");
+ printf("constant char helpdata[] = {\n");
+ ch = 0;
+ while (prevch = ch, (ch = getchar()) != EOF)
+ {
+ switch (ch)
+ {
+ case '\'':
+ printf("'\\'',");
+ break;
+ case '\\':
+ printf("'\\\\',");
+ break;
+ case '\b':
+ printf("'\\b',");
+ break;
+ case '\t':
+ printf("'\\t',");
+ break;
+ case '\n':
+ if (prevch != '\r')
+ printf("'\\n',\n");
+ break;
+ case '\r':
+ if (prevch != '\n')
+ printf("'\\n',\n");
+ break;
+ default:
+ if (ch >= ' ' && ch < 0x7f)
+ printf("'%c',", ch);
+ else
+ printf("0x%02x,", ch);
+ break;
+ }
+ }
+ /* Add an extra null char to avoid having a trailing comma. */
+ printf(" 0 };\n");
+ printf("constant int size_helpdata = sizeof(helpdata) - 1;\n");
+ return (0);
+}
OpenPOWER on IntegriCloud