1*5122c280Smestre /* $OpenBSD: extern.c,v 1.9 2015/12/31 15:20:36 mestre Exp $ */ 2df930be7Sderaadt /* $NetBSD: extern.c,v 1.3 1995/03/23 08:32:41 cgd Exp $ */ 3df930be7Sderaadt 4df930be7Sderaadt /* 5df930be7Sderaadt * Copyright (c) 1983, 1993 6df930be7Sderaadt * The Regents of the University of California. All rights reserved. 7df930be7Sderaadt * 8df930be7Sderaadt * Redistribution and use in source and binary forms, with or without 9df930be7Sderaadt * modification, are permitted provided that the following conditions 10df930be7Sderaadt * are met: 11df930be7Sderaadt * 1. Redistributions of source code must retain the above copyright 12df930be7Sderaadt * notice, this list of conditions and the following disclaimer. 13df930be7Sderaadt * 2. Redistributions in binary form must reproduce the above copyright 14df930be7Sderaadt * notice, this list of conditions and the following disclaimer in the 15df930be7Sderaadt * documentation and/or other materials provided with the distribution. 167a09557bSmillert * 3. Neither the name of the University nor the names of its contributors 17df930be7Sderaadt * may be used to endorse or promote products derived from this software 18df930be7Sderaadt * without specific prior written permission. 19df930be7Sderaadt * 20df930be7Sderaadt * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 21df930be7Sderaadt * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22df930be7Sderaadt * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 23df930be7Sderaadt * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 24df930be7Sderaadt * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25df930be7Sderaadt * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 26df930be7Sderaadt * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 27df930be7Sderaadt * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 28df930be7Sderaadt * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 29df930be7Sderaadt * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 30df930be7Sderaadt * SUCH DAMAGE. 31df930be7Sderaadt */ 32df930be7Sderaadt 33df930be7Sderaadt #include "hangman.h" 34*5122c280Smestre #include "pathnames.h" 35df930be7Sderaadt 36f005acd6Stedu bool Guessed[26 + 10]; 37df930be7Sderaadt 388f46ce03Spjanzen char Word[BUFSIZ], Known[BUFSIZ]; 398f46ce03Spjanzen const char *const Noose_pict[] = { 40df930be7Sderaadt " ______", 41df930be7Sderaadt " | |", 42df930be7Sderaadt " |", 43df930be7Sderaadt " |", 44df930be7Sderaadt " |", 45df930be7Sderaadt " |", 46df930be7Sderaadt " __|_____", 47df930be7Sderaadt " | |___", 48df930be7Sderaadt " |_________|", 49df930be7Sderaadt NULL 50df930be7Sderaadt }; 51df930be7Sderaadt 521ed0e75dSpjanzen int Errors, Wordnum = 0; 53df930be7Sderaadt 54df930be7Sderaadt double Average = 0.0; 55df930be7Sderaadt 568f46ce03Spjanzen const ERR_POS Err_pos[MAXERRS] = { 57df930be7Sderaadt { 2, 10, 'O' }, 58df930be7Sderaadt { 3, 10, '|' }, 59df930be7Sderaadt { 4, 10, '|' }, 60df930be7Sderaadt { 5, 9, '/' }, 61df930be7Sderaadt { 3, 9, '/' }, 62df930be7Sderaadt { 3, 11, '\\'}, 63df930be7Sderaadt { 5, 11, '\\'} 64df930be7Sderaadt }; 65df930be7Sderaadt 668f46ce03Spjanzen const char *Dict_name = _PATH_DICT; 678f46ce03Spjanzen 68df930be7Sderaadt FILE *Dict = NULL; 69df930be7Sderaadt 70df930be7Sderaadt off_t Dict_size; 71dac5d0ceSmiod 722ddfbac0Smiod int syms; 732ddfbac0Smiod int symfd = -1; 742ddfbac0Smiod off_t symoffs, symsize; 75dac5d0ceSmiod 76