diff options
author | lukem <lukem@NetBSD.org> | 1997-10-12 00:53:45 +0000 |
---|---|---|
committer | lukem <lukem@NetBSD.org> | 1997-10-12 00:53:45 +0000 |
commit | 718b40e43f2fbb804acc0266499926f8e51f83ef (patch) | |
tree | ce23ec6ddb7cc228fe2f9f6af3f68bd843f6c4f9 /mille/save.c | |
parent | 465f7ee80758219cdc70f7ed834148335f5c4d59 (diff) | |
download | bsdgames-darwin-718b40e43f2fbb804acc0266499926f8e51f83ef.tar.gz bsdgames-darwin-718b40e43f2fbb804acc0266499926f8e51f83ef.tar.zst bsdgames-darwin-718b40e43f2fbb804acc0266499926f8e51f83ef.zip |
WARNSify
Diffstat (limited to 'mille/save.c')
-rw-r--r-- | mille/save.c | 73 |
1 files changed, 36 insertions, 37 deletions
diff --git a/mille/save.c b/mille/save.c index a66a6597..05c007f0 100644 --- a/mille/save.c +++ b/mille/save.c @@ -1,4 +1,4 @@ -/* $NetBSD: save.c,v 1.5 1997/05/23 23:09:43 jtc Exp $ */ +/* $NetBSD: save.c,v 1.6 1997/10/12 00:54:32 lukem Exp $ */ /* * Copyright (c) 1983, 1993 @@ -33,18 +33,15 @@ * SUCH DAMAGE. */ +#include <sys/cdefs.h> #ifndef lint #if 0 static char sccsid[] = "@(#)save.c 8.1 (Berkeley) 5/31/93"; #else -static char rcsid[] = "$NetBSD: save.c,v 1.5 1997/05/23 23:09:43 jtc Exp $"; +__RCSID("$NetBSD: save.c,v 1.6 1997/10/12 00:54:32 lukem Exp $"); #endif #endif /* not lint */ -#include <sys/types.h> -#include <sys/stat.h> -#include <string.h> -#include <termios.h> #include "mille.h" #ifndef unctrl @@ -61,24 +58,22 @@ static char rcsid[] = "$NetBSD: save.c,v 1.5 1997/05/23 23:09:43 jtc Exp $"; typedef struct stat STAT; -char *ctime(); - -int read(), write(); - /* * This routine saves the current game for use at a later date + * Returns FALSE if it couldn't be done. */ - -save() { - - extern int errno; - register char *sp; - register int outf; - register time_t *tp; - char buf[80]; - time_t tme; - STAT junk; - +bool +save() +{ + char *sp; + int outf; + time_t *tp; + char buf[80]; + time_t tme; + STAT junk; + bool rv; + + sp = NULL; tp = &tme; if (Fromfile && getyn(SAMEFILEPROMPT)) strcpy(buf, Fromfile); @@ -130,16 +125,20 @@ over: mvwaddstr(Score, ERR_Y, ERR_X, buf); wrefresh(Score); time(tp); /* get current time */ - strcpy(buf, ctime(tp)); - for (sp = buf; *sp != '\n'; sp++) - continue; - *sp = '\0'; - varpush(outf, write); + rv = varpush(outf, writev); close(outf); - wprintw(Score, " [%s]", buf); + if (rv == FALSE) { + unlink(buf); + } else { + strcpy(buf, ctime(tp)); + for (sp = buf; *sp != '\n'; sp++) + continue; + *sp = '\0'; + wprintw(Score, " [%s]", buf); + } wclrtoeol(Score); wrefresh(Score); - return TRUE; + return rv; } /* @@ -147,24 +146,25 @@ over: * backup was made on exiting, in which case certain things must * be cleaned up before the game starts. */ +bool rest_f(file) -register char *file; + char *file; { - register char *sp; - register int inf; - char buf[80]; - STAT sbuf; + char *sp; + int inf; + char buf[80]; + STAT sbuf; if ((inf = open(file, 0)) < 0) { - perror(file); + warn("%s", file); exit(1); } if (fstat(inf, &sbuf) < 0) { /* get file stats */ - perror(file); + warn("%s", file); exit(1); } - varpush(inf, read); + varpush(inf, readv); close(inf); strcpy(buf, ctime(&sbuf.st_mtime)); for (sp = buf; *sp != '\n'; sp++) @@ -177,4 +177,3 @@ register char *file; Fromfile = file; return !On_exit; } - |