gno/bin/less/help.c
gdr-ftp 784e3de7cd Initial checkin of aroff, binprint, center, less, ls, make, makemake,
passwd, ps, purge, shutdown, stty, upper, and vi.  These sources are
for the versions of the utils shipped with GNO v2.0.4.
1998-03-09 08:30:21 +00:00

59 lines
1.3 KiB
C

/*
* Display some help.
* Just invoke another "less" to display the help file.
*
* {{ This makes this function very simple, and makes changing the
* help file very easy, but it may present difficulties on
* (non-Unix) systems which do not supply the "system()" function. }}
*/
#pragma noroot
#include "less.h"
#if __MSDOS__
#include <io.h>
#include <dir.h>
#include <string.h>
#include <stdlib.h>
extern int output_mode;
#endif
#ifdef _ORCAC_
segment "LoadSegONE";
#endif
extern char *progname;
public void
help(void)
{
char *helpfile;
char *cmd;
helpfile = find_helpfile();
if (helpfile == NULL)
{
error("Cannot find help file", NULL_PARG);
return;
}
#if __MSDOS__
putenv("LESS=-+v -+E -+s -mHPmHELP -- ?eEND -- Press g to see "
"it again:Press RETURN for more., or q when done ");
cmd = (char *) ecalloc(strlen(helpfile) + strlen(progname) + 50,
sizeof(char));
if (output_mode == 0)
sprintf(cmd, "-%s %s", progname, helpfile);
else
sprintf(cmd, "-%s -qVW4,4,76,23,Help %s", progname, helpfile);
#else
cmd = (char *) ecalloc(strlen(helpfile) + strlen(progname) + 150,
sizeof(char));
sprintf(cmd,
"-%s -m -H -+E -+s '-PmHELP -- ?eEND -- Press g to see it again:Press RETURN for more., or q when done ' %s",
progname, helpfile);
#endif
free(helpfile);
lsystem(cmd);
error("End of help", NULL_PARG);
free(cmd);
}