X-Git-Url: https://git.cameronkatri.com/bsdgames-darwin.git/blobdiff_plain/84e7d0704483ce39bbdeacd5e676168db6fa664f..489aeaa44fcd5524032787011b371da35c754266:/hack/hack.save.c?ds=sidebyside diff --git a/hack/hack.save.c b/hack/hack.save.c index 26386e70..fe116bcb 100644 --- a/hack/hack.save.c +++ b/hack/hack.save.c @@ -1,12 +1,69 @@ -/* $NetBSD: hack.save.c,v 1.6 1997/10/19 16:58:57 christos Exp $ */ +/* $NetBSD: hack.save.c,v 1.8 2003/04/02 18:36:40 jsm Exp $ */ /* - * Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. + * 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) 1982 Jay Fenlason + * 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 #ifndef lint -__RCSID("$NetBSD: hack.save.c,v 1.6 1997/10/19 16:58:57 christos Exp $"); +__RCSID("$NetBSD: hack.save.c,v 1.8 2003/04/02 18:36:40 jsm Exp $"); #endif /* not lint */ #include @@ -30,7 +87,7 @@ dosave() #ifndef NOSAVEONHANGUP void hangup(n) - int n; + int n __attribute__((__unused__)); { (void) dosave0(1); exit(1); @@ -77,7 +134,7 @@ dosave0(hu) if (tmp == dlevel || !level_exists[tmp]) continue; glo(tmp); - if ((ofd = open(lock, 0)) < 0) { + if ((ofd = open(lock, O_RDONLY)) < 0) { if (!hu) pline("Error while saving: cannot read %s.", lock); (void) close(fd); @@ -146,7 +203,7 @@ dorecover(fd) savelev(nfd, tmp); (void) close(nfd); } - (void) lseek(fd, (off_t) 0, 0); + (void) lseek(fd, (off_t) 0, SEEK_SET); getlev(fd, 0, 0); (void) close(fd); (void) unlink(SAVEF); @@ -225,7 +282,7 @@ restmonchn(fd) long differ; mread(fd, (char *) &monbegin, sizeof(monbegin)); - differ = (char *) (&mons[0]) - (char *) (monbegin); + differ = (const char *) (&mons[0]) - (const char *) (monbegin); #ifdef lint /* suppress "used before set" warning from lint */ @@ -243,8 +300,8 @@ restmonchn(fd) mread(fd, (char *) mtmp, (unsigned) xl + sizeof(struct monst)); if (!mtmp->m_id) mtmp->m_id = flags.ident++; - mtmp->data = (struct permonst *) - ((char *) mtmp->data + differ); + mtmp->data = (const struct permonst *) + ((const char *) mtmp->data + differ); if (mtmp->minvent) mtmp->minvent = restobjchn(fd); mtmp2 = mtmp;