summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--term-utils/wall.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/term-utils/wall.c b/term-utils/wall.c
index d7f7178d7..7f7e0eab6 100644
--- a/term-utils/wall.c
+++ b/term-utils/wall.c
@@ -179,7 +179,7 @@ main(int argc, char **argv) {
}
char *
-makemsg(char *fname, size_t *mainmbufsize, int print_banner)
+makemsg(char *fname, size_t *mbufsize, int print_banner)
{
register int ch, cnt;
struct tm *lt;
@@ -189,7 +189,6 @@ makemsg(char *fname, size_t *mainmbufsize, int print_banner)
FILE *fp;
int fd;
char *p, *whom, *where, *hostname, *lbuf, *tmpname, *tmpenv, *mbuf;
- size_t mbufsize;
long line_max;
hostname = xmalloc(sysconf(_SC_HOST_NAME_MAX) + 1);
@@ -283,14 +282,13 @@ makemsg(char *fname, size_t *mainmbufsize, int print_banner)
if (fstat(fd, &sbuf))
err(EXIT_FAILURE, _("fstat failed"));
- mbufsize = sbuf.st_size;
- memcpy(mainmbufsize, &mbufsize, sizeof(size_t));
- mbuf = xmalloc(mbufsize);
+ *mbufsize = (size_t) sbuf.st_size;
+ mbuf = xmalloc(*mbufsize);
- if (fread(mbuf, sizeof(*mbuf), mbufsize, fp) != mbufsize)
+ if (fread(mbuf, 1, *mbufsize, fp) != *mbufsize)
err(EXIT_FAILURE, _("fread failed"));
close(fd);
fclose(fp);
- return(mbuf);
+ return mbuf;
}