1 /* $MirOS: src/usr.bin/oldroff/refer/refer..c,v 1.2 2008/11/08 23:04:44 tg Exp $ */ 2 3 /*- 4 * Copyright (c) 1979, 1980, 1981, 1986, 1988, 1990, 1991, 1992 5 * The Regents of the University of California. 6 * Copyright (C) Caldera International Inc. 2001-2002. 7 * Copyright (c) 2003, 2004 8 * Thorsten "mirabilos" Glaser <tg@mirbsd.org> 9 * All rights reserved. 10 * 11 * Redistribution and use in source and binary forms, 12 * with or without modification, are permitted provided 13 * that the following conditions are met: 14 * 15 * Redistributions of source code and documentation must retain 16 * the above copyright notice, this list of conditions and the 17 * following disclaimer. Redistributions in binary form must 18 * reproduce the above copyright notice, this list of conditions 19 * and the following disclaimer in the documentation and/or other 20 * materials provided with the distribution. 21 * 22 * All advertising materials mentioning features or use of this 23 * software must display the following acknowledgement: 24 * This product includes software developed or owned by 25 * Caldera International, Inc. 26 * 27 * Neither the name of Caldera International, Inc. nor the names 28 * of other contributors may be used to endorse or promote products 29 * derived from this software without specific prior written permission. 30 * 31 * USE OF THE SOFTWARE PROVIDED FOR UNDER THIS LICENSE BY CALDERA 32 * INTERNATIONAL, INC. AND CONTRIBUTORS "AS IS" AND ANY EXPRESS 33 * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 34 * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 35 * ARE DISCLAIMED. IN NO EVENT SHALL CALDERA INTERNATIONAL, INC. BE 36 * LIABLE FOR ANY DIRECT, INDIRECT INCIDENTAL, SPECIAL, EXEMPLARY, OR 37 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 38 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR 39 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 40 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 41 * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, 42 * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 43 * 44 * @(#)refer..c 4.5 (Berkeley) 4/18/91 45 */ 46 47 #include <stdio.h> 48 #include <ctype.h> 49 #include <assert.h> 50 51 #define FLAG 003 52 #define AFLAG 007 53 #define NRFTXT 10000 54 #define NRFTBL 500 55 #define NTFILE 20 56 #define QLEN 512 57 #define ANSLEN 1024 58 #define TAGLEN 400 59 #define NSERCH 20 60 #define MXSIG 200 /* max bytes in aggregate signal */ 61 62 extern FILE *in; 63 extern int endpush, sort, labels, keywant, bare; 64 extern int biblio, science, postpunct; 65 extern char *smallcaps; 66 extern char comname; 67 extern char *keystr; 68 extern char *convert; 69 extern int authrev; 70 extern int nmlen, dtlen; 71 extern char *rdata[], **search; 72 extern int refnum; 73 extern char *reftable[]; 74 extern char *rtp, reftext[]; 75 extern int sep; 76 extern char tfile[]; 77 extern char gfile[]; 78 extern char ofile[]; 79 extern char hidenam[]; 80 extern char *Ifile; extern int Iline; 81 extern FILE *fo, *ftemp; 82 extern char *input(),*lookat(); 83 extern char *class(),*caps(),*revauth(); 84 extern char *artskp(),*fpar(); 85 extern char *trimnl(); 86 87 extern char *getenv(), *strcpy(), *strcat(); 88