From e0c6872cf40896c7be36b11dcc744620f10adf1d Mon Sep 17 00:00:00 2001 From: Norbert Preining Date: Mon, 2 Sep 2019 13:46:59 +0900 Subject: Initial commit --- dviware/crudetype/version3/w2c-main.c | 41 +++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 dviware/crudetype/version3/w2c-main.c (limited to 'dviware/crudetype/version3/w2c-main.c') diff --git a/dviware/crudetype/version3/w2c-main.c b/dviware/crudetype/version3/w2c-main.c new file mode 100644 index 0000000000..dcf8792557 --- /dev/null +++ b/dviware/crudetype/version3/w2c-main.c @@ -0,0 +1,41 @@ +/* main.c -- the usual main program. */ + +#include "w2c-ext.h" + + +/* The command line is stored here, since Pascal has usurped `argv' + for a procedure. */ +static char **gargv; + +/* Referenced from the Pascal, so not static. */ +integer argc; + + +/* The entry point for all the programs except TeX and Metafont, which + have more to do. We just have to set up the command line. Pascal's + main block is transformed into the procedure `main_body'. */ + +void +main (ac, av) + int ac; + char **av; +{ + argc = ac; + gargv = av; + main_body (); + exit (0); +} + + +/* Read the Nth argument from the command line. BUF is a Pascal + string, i.e., it starts at index 1 and ends with a space. */ + +void +argv (n, buf) + int n; + char buf[]; +{ + (void) strcpy (buf + 1, gargv[n]); + (void) strcat (buf + 1, " "); +} + -- cgit v1.2.3