From 446d4ed39430c2651a87f15693417455b4cdf7e9 Mon Sep 17 00:00:00 2001 From: Ron Koenderink Date: Thu, 24 Feb 2005 02:00:14 +0000 Subject: [PATCH] (gamedown,show_motd): Change to stdio for reading motd and down message. (gamedown): Change buf's size to be MAXTELSIZE instead of abitrary number. Make consistent with show_motd(). --- src/lib/player/empdis.c | 18 +++++++++--------- src/lib/player/player.c | 16 ++++++++-------- 2 files changed, 17 insertions(+), 17 deletions(-) diff --git a/src/lib/player/empdis.c b/src/lib/player/empdis.c index 4d57d2df..57654067 100644 --- a/src/lib/player/empdis.c +++ b/src/lib/player/empdis.c @@ -152,33 +152,33 @@ explain(void) int gamedown(void) { - int downf; + FILE *down_fp; struct telstr tgm; - s_char buf[1024]; + s_char buf[MAXTELSIZE]; if (player->god) return 0; - if ((downf = open(downfil, O_RDONLY, 0)) < 0) + if ((down_fp = fopen(downfil, "r")) == NULL) return 0; - if (read(downf, (s_char *)&tgm, sizeof(tgm)) != sizeof(tgm)) { + if (fread((void *)&tgm, sizeof(tgm), 1, down_fp) != 1) { logerror("bad header on login message (downfil)"); - close(downf); + fclose(down_fp); return 1; } if (tgm.tel_length >= (long)sizeof(buf)) { logerror("text length (%ld) is too long for login message (downfil)", tgm.tel_length); - close(downf); + fclose(down_fp); return 1; } - if (read(downf, buf, tgm.tel_length) != tgm.tel_length) { + if (fread(buf, tgm.tel_length, 1, down_fp) != 1) { logerror("bad length %ld on login message", tgm.tel_length); - close(downf); + fclose(down_fp); return 1; } buf[tgm.tel_length] = 0; prnf(buf); pr("\nThe game is down\n"); - (void)close(downf); + fclose(down_fp); return 1; } diff --git a/src/lib/player/player.c b/src/lib/player/player.c index f894f701..a08b2e6e 100644 --- a/src/lib/player/player.c +++ b/src/lib/player/player.c @@ -343,11 +343,11 @@ execute(void) int show_motd(void) { - int motdf; + FILE *motd_fp; struct telstr tgm; char buf[MAXTELSIZE]; - if ((motdf = open(motdfil, O_RDONLY, 0)) < 0) + if ((motd_fp = fopen(motdfil, "r")) == NULL) { if (errno == ENOENT) return RET_OK; @@ -358,24 +358,24 @@ show_motd(void) return RET_SYS; } } - if (read(motdf, &tgm, sizeof(tgm)) != sizeof(tgm)) { + if (fread((void *)&tgm, sizeof(tgm), 1, motd_fp) != 1) { logerror("bad header on login message (motdfil)"); - close(motdf); + fclose(motd_fp); return RET_FAIL; } if (tgm.tel_length >= (long)sizeof(buf)) { logerror("text length (%ld) is too long for login message (motdfil)", tgm.tel_length); - close(motdf); + fclose(motd_fp); return RET_FAIL; } - if (read(motdf, buf, tgm.tel_length) != tgm.tel_length) { + if (fread(buf, tgm.tel_length, 1, motd_fp) != 1) { logerror("bad length %ld on login message", tgm.tel_length); - close(motdf); + fclose(motd_fp); return RET_FAIL; } buf[tgm.tel_length] = 0; prnf(buf); - (void)close(motdf); + fclose(motd_fp); return RET_OK; }