|
|
1.1 root 1: /*
2: * On GEMDOS and MSDOS, helpfiles specified on the command line
3: * are <name>.HLP for the main help, and <name>.IDX for the index file,
4: * if any. On other systems, the help file is <name>, the index file,
5: * <name>.idx
6: */
7: #include "ed.h"
8:
9: #if LIBHELP
10: #ifndef NULL
11: #define NULL ((char *)0) /* rather than using stdio.h */
12: #endif
13:
14: static uchar lookbuff[NFILEN];
15:
16: inithelp(){
17: extern uchar *getenv();
18:
19: if (helpfile == NULL) {
20: if ((helpfile = getenv("HELP")) == NULL) {
21: helpfile = "helpfile";
22: #if GEM || MSDOS
23: helpindex = "helpindx"; /* Short name for xDOS */
24: #else
25: helpindex = "helpindex"; /* Long name for others */
26: #endif
27: } else {
28: strcpy(hfname, helpfile); /* from env. */
29: helpfile = hfname;
30: strcpy(hiname, hfname);
31: #if GEM || MSDOS
32: strcat(hfname, ".hlp");
33: strcat(hiname, ".idx");
34: helpindex = hiname;
35: #else
36: strcat(hiname, ".idx");
37: helpindex = hiname;
38: #endif
39: }
40: }
41: }
42:
43: do_lookup(topic)
44: uchar *topic;
45: {
46: inithelp();
47: if (topic == NULL || *topic == '\0') {
48: mlwrite("[No subject specified]");
49: return FALSE;
50: }
51: mlwrite("[looking for topic %s]", topic);
52: return helpwindow(topic);
53: }
54:
55: promptlook(f, n)
56: {
57: register int s;
58:
59: inithelp();
60: if ((s=mlreply("Topic: ", lookbuff, NFILEN)) != TRUE)
61: return s;
62: mlwrite("[looking for topic %s]", lookbuff);
63: return do_lookup(lookbuff);
64: }
65:
66: hlpindex(f, n)
67: {
68: register int s;
69:
70: inithelp();
71: if ((s=mlreply("Keyword: ", lookbuff, NFILEN)) != TRUE)
72: return s;
73: mlwrite("[looking for keyword %s]", lookbuff);
74: return topicwindow(lookbuff);
75: }
76: #endif
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.