Deleted Added
full compact
1/*
2 * Copyright (C) 1984-2011 Mark Nudelman
2 * Copyright (C) 1984-2012 Mark Nudelman
3 *
4 * You may distribute under the terms of either the GNU General Public
5 * License or the Less License, as specified in the README file.
6 *
7 * For more information about less, or for information on how to
8 * contact the author, see the README file.
7 * For more information, see the README file.
8 */
9
10
11/*
12 * Silly little program to generate the help.c source file
13 * from the less.hlp text file.
14 * help.c just contains a char array whose contents are
15 * the contents of less.hlp.
16 */
17
18#include <stdio.h>
19
20 int
21main(argc, argv)
22 int argc;
23 char *argv[];
24{
25 int ch;
26 int prevch;
27
28 printf("/* This file was generated by mkhelp from less.hlp */\n");
29 printf("#include \"less.h\"\n");
30 printf("constant char helpdata[] = {\n");
31 ch = 0;
32 while (prevch = ch, (ch = getchar()) != EOF)
33 {
34 switch (ch)
35 {
36 case '\'':
37 printf("'\\'',");
38 break;
39 case '\\':
40 printf("'\\\\',");
41 break;
42 case '\b':
43 printf("'\\b',");
44 break;
45 case '\t':
46 printf("'\\t',");
47 break;
48 case '\n':
49 if (prevch != '\r')
50 printf("'\\n',\n");
51 break;
52 case '\r':
53 if (prevch != '\n')
54 printf("'\\n',\n");
55 break;
56 default:
57 if (ch >= ' ' && ch < 0x7f)
58 printf("'%c',", ch);
59 else
60 printf("0x%02x,", ch);
61 break;
62 }
63 }
64 /* Add an extra null char to avoid having a trailing comma. */
65 printf(" 0 };\n");
66 printf("constant int size_helpdata = sizeof(helpdata) - 1;\n");
67 return (0);
68}