/* $Id$ */ /* * (c) copyright 1983 by the Vrije Universiteit, Amsterdam, The Netherlands. * * This product is part of the Amsterdam Compiler Kit. * * Permission to use, sell, duplicate or disclose this software must be * obtained in writing. Requests for such permissions may be sent to * * Dr. Andrew S. Tanenbaum * Wiskundig Seminarium * Vrije Universiteit * Postbox 7161 * 1007 MC Amsterdam * The Netherlands * */ /* Author: J.W. Stevenson */ #include "pc.h" int _pargc; char** _pargv; char** _penvp; char* _m_lb; /* LB of _m_a_i_n */ struct file* _curfil; /* points to file struct in case of errors */ int _extflc; struct file** _extfl; int _fp_hook = 1; /* This is for Minix, but does not harm others */ void _ini(char *args, int c, struct file **p, char *mainlb) { struct file* f; _pargc = *(int*)args; args += sizeof(int); _pargv = *(char***)args; args += sizeof(char**); _penvp = *(char***)args; _sig(_catch); _extfl = p; _extflc = c; if (!c) return; _m_lb = mainlb; if ((f = _extfl[0]) != (struct file*)0) { f->ptr = f->bufadr; f->flags = MAGIC | TXTBIT; f->fname = "INPUT"; f->ufd = 0; f->size = 1; f->count = 0; f->buflen = PC_BUFLEN; } if ((f = _extfl[1]) != (struct file*)0) { f->ptr = f->bufadr; f->flags = MAGIC | TXTBIT | WRBIT | EOFBIT | ELNBIT; f->fname = "OUTPUT"; f->ufd = 1; f->size = 1; f->count = 1; f->buflen = f->count; } }