This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug libc/6544] New: fseek(..., 0, SEEK_END) doesn't work as it should on fmemopen's FILE
- From: "witekfl at poczta dot onet dot pl" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: 22 May 2008 06:26:30 -0000
- Subject: [Bug libc/6544] New: fseek(..., 0, SEEK_END) doesn't work as it should on fmemopen's FILE
- Reply-to: sourceware-bugzilla at sourceware dot org
fmemopen_seek in case of SEEK_END set the seek position on the first '\0' char
what is wrong. This way fmemopen is unusable with binary data.
I tried to use fmemopen with zziplib library to open a ZIP file which was
already loaded into memory, but it failed. With the patch below it works fine.
--- glibc-2.8/libio/fmemopen.c.old 2008-05-21 23:40:18.000000000 +0200
+++ glibc-2.8/libio/fmemopen.c 2008-05-21 23:42:51.000000000 +0200
@@ -165,7 +165,7 @@ fmemopen_seek (void *cookie, _IO_off64_t
break;
case SEEK_END:
- np = c->maxpos - *p;
+ np = c->size - *p;
break;
default:
--
Summary: fseek(..., 0, SEEK_END) doesn't work as it should on
fmemopen's FILE
Product: glibc
Version: unspecified
Status: NEW
Severity: normal
Priority: P2
Component: libc
AssignedTo: drepper at redhat dot com
ReportedBy: witekfl at poczta dot onet dot pl
CC: glibc-bugs at sources dot redhat dot com
http://sourceware.org/bugzilla/show_bug.cgi?id=6544
------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.