From 1012cb601c0d9901d20480a11b70c3e93270c51f Mon Sep 17 00:00:00 2001 From: "Andrey A. Chernov" Date: Mon, 3 Sep 2001 05:06:48 +0000 Subject: [PATCH] File positions are off_t nowdays, not long, so: atoi -> strtoll fseek -> fseeko NOTE: that fseek not works for >long offsets per POSIX: [EOVERFLOW] For fseek( ), the resulting file offset would be a value which cannot be represented correctly in an object of type long. Fix minor cast too. --- libexec/comsat/comsat.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/libexec/comsat/comsat.c b/libexec/comsat/comsat.c index ab920a21f553..a738762595e5 100644 --- a/libexec/comsat/comsat.c +++ b/libexec/comsat/comsat.c @@ -161,8 +161,8 @@ onalrm(signo) exit(1); } } - (void)lseek(uf, (off_t)0, L_SET); - nutmp = read(uf, utmp, (int)statbf.st_size)/sizeof(struct utmp); + (void)lseek(uf, (off_t)0, SEEK_SET); + nutmp = read(uf, utmp, (size_t)statbf.st_size)/sizeof(struct utmp); } } @@ -181,7 +181,7 @@ mailfor(name) if (!(cp = strchr(name, '@'))) return; *cp = '\0'; - offset = atoi(cp + 1); + offset = strtoll(cp + 1, NULL, 10); if (!(cp = strchr(cp + 1, ':'))) file = name; else @@ -266,7 +266,7 @@ jkfprintf(tp, user, file, offset) if ((fi = fopen(file, "r")) == NULL) return; - (void)fseek(fi, offset, L_SET); + (void)fseeko(fi, offset, SEEK_CUR); /* * Print the first 7 lines or 560 characters of the new mail * (whichever comes first). Skip header crap other than