summaryrefslogtreecommitdiff
path: root/Build/source/texk/web2c/lib/main.c
blob: d3f5a45aa43522c317a2cf659b5c683eb7db01cd (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
/* main.c -- the main program for everything but TeX & MF.  */
/* Public domain. */

#include <w2c/config.h>
#include "lib.h"

/* These variables are referenced from the change files.  */
char **argv;
int 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.  web2c
   transforms Pascal's main block into a procedure `main_body'.  */
int
main (int  ac,  string* av)
{
#ifdef __EMX__
  _wildcard (&ac, &av);
  _response (&ac, &av);
#endif

#ifdef WIN32
  _setmaxstdio(2048);
#endif

  argc = ac;
  argv = av;
  mainbody ();
  return EXIT_SUCCESS;
}


/* Return the Nth (counted as in C) argument from the command line.  */

string 
cmdline (int n)
{
  if (n >= argc)
    { /* This error message should never happen, because the callers
         should always check they've got the arguments they expect.  */
      fprintf (stderr, "%s: Oops; not enough arguments.\n", argv[0]);
      uexit (1);
    }
  return argv[n];
}