home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
unix
/
volume17
/
e2
/
part02
/
main.c
< prev
next >
Wrap
C/C++ Source or Header
|
1989-02-08
|
3KB
|
58 lines
/*******************************************************************************
# E - command line preprocessor for vi. Version 1.3 - November 1988. #
# =================================================================== #
# #
# Terry Jones, Department of Computer Science, University of Waterloo #
# Waterloo, Ontario, Canada. N2L 3G1 #
# #
# {ihnp4,allegra,decvax,utzoo,utcsri,clyde}!watmath!watdragon!tcjones #
# tcjones@dragon.waterloo.{cdn,edu} tcjones@WATER.bitnet #
# tcjones%watdragon@waterloo.csnet #
*******************************************************************************/
#include "e.h"
FILE *hist_fp = NULL; /* The original .e file */
FILE *tmp_fp = NULL; /* The new .e file */
char *hist[HIST_LINES]; /* Pointers to history items. */
char *home; /* Home directory. */
char *myname; /* argv[0] */
char *saved_line = NULL; /* In case we read one line too many later on. */
char arg[ARG_CHARS]; /* The arguments that vi will be invoked with. */
char cwd[MAXPATHLEN]; /* The directory from which we're invoked. */
char ehist[MAXPATHLEN]; /* The name of the original .e file. */
char erase; /* The terminal's erase character. */
char tmp_file[MAXPATHLEN]; /* The name of the new .e file. */
int emode; /* The protection mode of the original .e. */
int hist_count; /* The # of items in the history for this dir. */
int safe_inherit = 0; /* Never inherit other people's .exrc's */
int inherit = 0; /* Inherit .exrc files? */
int uid; /* The user's uid. */
main(argc, argv)
int argc;
char **argv;
{
/*
* Do some preliminary things. Grab the name we were invoked with,
* record the status of the terminal so we can restore it later if
* we have to alter it for some reason, arrange to catch SIGINT and
* read and split up the history for this directory.
*
* Then call e which handles the arguments and calls other things
* to get the job done. e should never return.
*/
myname = argv[0];
terminal(TERM_RECORD);
catch_signals();
inheritance();
find_hist();
hist_count = read_hist();
e(argc, argv);
return 1;
}