blob: 8cbae3a119bd1d6f48f2a44101ba2e81693135a9 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
|
#ifndef lint
static char rcsid[] = "$NetBSD: help.c,v 1.3 1995/03/23 08:33:33 cgd Exp $";
#endif /* not lint */
/* help.c Larn is copyrighted 1986 by Noah Morgan. */
#include "header.h"
/*
* help function to display the help info
*
* format of the .larn.help file
*
* 1st character of file: # of pages of help available (ascii digit)
* page (23 lines) for the introductory message (not counted in above)
* pages of help text (23 lines per page)
*/
extern char helpfile[];
help()
{
register int i,j;
#ifndef VT100
char tmbuf[128]; /* intermediate translation buffer when not a VT100 */
#endif VT100
if ((j=openhelp()) < 0) return; /* open the help file and get # pages */
for (i=0; i<23; i++) lgetl(); /* skip over intro message */
for (; j>0; j--)
{
clear();
for (i=0; i<23; i++)
#ifdef VT100
lprcat(lgetl()); /* print out each line that we read in */
#else VT100
{ tmcapcnv(tmbuf,lgetl()); lprcat(tmbuf); } /* intercept \33's */
#endif VT100
if (j>1)
{
lprcat(" ---- Press "); standout("return");
lprcat(" to exit, "); standout("space");
lprcat(" for more help ---- ");
i=0; while ((i!=' ') && (i!='\n') && (i!='\33')) i=getchar();
if ((i=='\n') || (i=='\33'))
{
lrclose(); setscroll(); drawscreen(); return;
}
}
}
lrclose(); retcont(); drawscreen();
}
/*
* function to display the welcome message and background
*/
welcome()
{
register int i;
#ifndef VT100
char tmbuf[128]; /* intermediate translation buffer when not a VT100 */
#endif VT100
if (openhelp() < 0) return; /* open the help file */
clear();
for(i=0; i<23; i++)
#ifdef VT100
lprcat(lgetl()); /* print out each line that we read in */
#else VT100
{ tmcapcnv(tmbuf,lgetl()); lprcat(tmbuf); } /* intercept \33's */
#endif VT100
lrclose(); retcont(); /* press return to continue */
}
/*
* function to say press return to continue and reset scroll when done
*/
retcont()
{
cursor(1,24); lprcat("Press "); standout("return");
lprcat(" to continue: "); while (getchar() != '\n');
setscroll();
}
/*
* routine to open the help file and return the first character - '0'
*/
openhelp()
{
if (lopen(helpfile)<0)
{
lprintf("Can't open help file \"%s\" ",helpfile);
lflush(); sleep(4); drawscreen(); setscroll(); return(-1);
}
resetscroll(); return(lgetc() - '0');
}
|