[PATCH] time: fix parsing of tzdata files where off_t is 64-bit
William Pitcock
nenolod at dereferenced.org
Thu Apr 28 08:09:20 UTC 2011
lseek takes off_t as the offset type, but gcc will normally pass a
32-bit value unless the number is wider than 16 bits. so we force
gcc to pass the constant as off_t type always by casting the constant
to off_t.
Signed-off-by: William Pitcock <nenolod at dereferenced.org>
---
libc/misc/time/time.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c
index 19d68e1..1b21f9e 100644
--- a/libc/misc/time/time.c
+++ b/libc/misc/time/time.c
@@ -1856,7 +1856,7 @@ ERROR:
if (r != TZ_BUFLEN
|| strncmp(buf, "TZif", 4) != 0
|| (unsigned char)buf[4] < 2
- || lseek(fd, -TZ_BUFLEN, SEEK_END) < 0
+ || lseek(fd, (off_t) -TZ_BUFLEN, SEEK_END) < 0
) {
goto ERROR;
}
--
1.7.4.5
More information about the uClibc
mailing list