]> git.cameronkatri.com Git - bsdgames-darwin.git/blobdiff - hack/hack.shknam.c
Add (unsigned char) cast to ctype functions
[bsdgames-darwin.git] / hack / hack.shknam.c
index 152dbdb181c4a7cbfc170cb16e7951200a3bd75f..de982d73c3d14aee5d6ff52050d928c9db0b83eb 100644 (file)
@@ -1,14 +1,75 @@
+/*     $NetBSD: hack.shknam.c,v 1.6 2003/04/02 18:36:40 jsm Exp $      */
+
+/*
+ * Copyright (c) 1985, Stichting Centrum voor Wiskunde en Informatica,
+ * Amsterdam
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are
+ * met:
+ *
+ * - Redistributions of source code must retain the above copyright notice,
+ * this list of conditions and the following disclaimer.
+ *
+ * - Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * - Neither the name of the Stichting Centrum voor Wiskunde en
+ * Informatica, nor the names of its contributors may be used to endorse or
+ * promote products derived from this software without specific prior
+ * written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
+ * IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+ * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+ * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+ * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+ * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
 /*
- * Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985.
+ * Copyright (c) 1982 Jay Fenlason <hack@gnu.org>
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ * 3. The name of the author may not be used to endorse or promote products
+ *    derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES,
+ * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL
+ * THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
+ * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
+ * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
+ * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
  */
 
+#include <sys/cdefs.h>
 #ifndef lint
-static char rcsid[] = "$NetBSD: hack.shknam.c,v 1.3 1995/03/23 08:31:33 cgd Exp $";
-#endif /* not lint */
+__RCSID("$NetBSD: hack.shknam.c,v 1.6 2003/04/02 18:36:40 jsm Exp $");
+#endif                         /* not lint */
 
 #include "hack.h"
+#include "extern.h"
 
-char *shkliquors[] = {
+const char           *const shkliquors[] = {
        /* Ukraine */
        "Njezjin", "Tsjernigof", "Gomel", "Ossipewsk", "Gorlowka",
        /* N. Russia */
@@ -23,7 +84,7 @@ char *shkliquors[] = {
        0
 };
 
-char *shkbooks[] = {
+const char           *const shkbooks[] = {
        /* Eire */
        "Skibbereen", "Kanturk", "Rath Luirc", "Ennistymon", "Lahinch",
        "Loughrea", "Croagh", "Maumakeogh", "Ballyjamesduff",
@@ -35,7 +96,7 @@ char *shkbooks[] = {
        0
 };
 
-char *shkarmors[] = {
+const char           *const shkarmors[] = {
        /* Turquie */
        "Demirci", "Kalecik", "Boyabai", "Yildizeli", "Gaziantep",
        "Siirt", "Akhalataki", "Tirebolu", "Aksaray", "Ermenak",
@@ -46,7 +107,7 @@ char *shkarmors[] = {
        0
 };
 
-char *shkwands[] = {
+const char           *const shkwands[] = {
        /* Wales */
        "Yr Wyddgrug", "Trallwng", "Mallwyd", "Pontarfynach",
        "Rhaeader", "Llandrindod", "Llanfair-ym-muallt",
@@ -60,7 +121,7 @@ char *shkwands[] = {
        0
 };
 
-char *shkrings[] = {
+const char           *const shkrings[] = {
        /* Hollandse familienamen */
        "Feyfer", "Flugi", "Gheel", "Havic", "Haynin", "Hoboken",
        "Imbyze", "Juyn", "Kinsky", "Massis", "Matray", "Moy",
@@ -73,7 +134,7 @@ char *shkrings[] = {
        0
 };
 
-char *shkfoods[] = {
+const char           *const shkfoods[] = {
        /* Indonesia */
        "Djasinga", "Tjibarusa", "Tjiwidej", "Pengalengan",
        "Bandjar", "Parbalingga", "Bojolali", "Sarangan",
@@ -85,7 +146,7 @@ char *shkfoods[] = {
        0
 };
 
-char *shkweapons[] = {
+const char           *const shkweapons[] = {
        /* Perigord */
        "Voulgezac", "Rouffiac", "Lerignac", "Touverac", "Guizengeard",
        "Melac", "Neuvicq", "Vanzac", "Picq", "Urignac", "Corignac",
@@ -96,7 +157,7 @@ char *shkweapons[] = {
        0
 };
 
-char *shkgeneral[] = {
+const char           *const shkgeneral[] = {
        /* Suriname */
        "Hebiwerie", "Possogroenoe", "Asidonhopo", "Manlobbi",
        "Adjama", "Pakka Pakka", "Kabalebo", "Wonotobo",
@@ -114,32 +175,56 @@ char *shkgeneral[] = {
        0
 };
 
-struct shk_nx {
-       char x;
-       char **xn;
-} shk_nx[] = {
-       { POTION_SYM,   shkliquors },
-       { SCROLL_SYM,   shkbooks },
-       { ARMOR_SYM,    shkarmors },
-       { WAND_SYM,     shkwands },
-       { RING_SYM,     shkrings },
-       { FOOD_SYM,     shkfoods },
-       { WEAPON_SYM,   shkweapons },
-       { 0,            shkgeneral }
+const struct shk_nx {
+       char            x;
+       const char          *const *xn;
+}               shk_nx[] = {
+       {
+               POTION_SYM, shkliquors
+       },
+       {
+               SCROLL_SYM, shkbooks
+       },
+       {
+               ARMOR_SYM, shkarmors
+       },
+       {
+               WAND_SYM, shkwands
+       },
+       {
+               RING_SYM, shkrings
+       },
+       {
+               FOOD_SYM, shkfoods
+       },
+       {
+               WEAPON_SYM, shkweapons
+       },
+       {
+               0, shkgeneral
+       }
 };
 
-findname(nampt, let) char *nampt; char let; {
-register struct shk_nx *p = shk_nx;
-register char **q;
-register int i;
-       while(p->x && p->x != let) p++;
+void
+findname(nampt, let)
+       char           *nampt;
+       char            let;
+{
+       const struct shk_nx  *p = shk_nx;
+       const char          *const *q;
+       int             i;
+       while (p->x && p->x != let)
+               p++;
        q = p->xn;
-       for(i=0; i<dlevel; i++) if(!q[i]){
-               /* Not enough names, try general name */
-               if(let) findname(nampt, 0);
-               else (void) strcpy(nampt, "Dirk");
-               return;
-       }
+       for (i = 0; i < dlevel; i++)
+               if (!q[i]) {
+                       /* Not enough names, try general name */
+                       if (let)
+                               findname(nampt, 0);
+                       else
+                               (void) strcpy(nampt, "Dirk");
+                       return;
+               }
        (void) strncpy(nampt, q[i], PL_NSIZ);
-       nampt[PL_NSIZ-1] = 0;
+       nampt[PL_NSIZ - 1] = 0;
 }