diff options
| author | Xin LI <delphij@FreeBSD.org> | 2009-05-08 23:34:35 +0000 |
|---|---|---|
| committer | Xin LI <delphij@FreeBSD.org> | 2009-05-08 23:34:35 +0000 |
| commit | ad5f463cf975eb6a9c4cb335fc2ce7a84c7d49a7 (patch) | |
| tree | 2526f6b109843b646672c1537476dc51e56c0454 /mkhelp.c | |
| parent | 33a9f6ab73c5cd49f65ba4389ec32216bbe5fee3 (diff) | |
Notes
Diffstat (limited to 'mkhelp.c')
| -rw-r--r-- | mkhelp.c | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/mkhelp.c b/mkhelp.c new file mode 100644 index 0000000000000..f4a7ea76dcff9 --- /dev/null +++ b/mkhelp.c @@ -0,0 +1,69 @@ +/* + * Copyright (C) 1984-2007 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); +} |
