From: Martin Mares Date: Sun, 23 Jun 2002 16:01:16 +0000 (+0000) Subject: When O_APPEND is given to bopen(), don't forget to set fb->pos and fb->fdpos. X-Git-Tag: holmes-import~1393 X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=f4dc8409d875585a2fbb17d8054e110c76a136ce;p=libucw.git When O_APPEND is given to bopen(), don't forget to set fb->pos and fb->fdpos. --- diff --git a/lib/fb-file.c b/lib/fb-file.c index ac25dcf3..6715c7aa 100644 --- a/lib/fb-file.c +++ b/lib/fb-file.c @@ -91,11 +91,15 @@ bfdopen_internal(int fd, uns buflen, byte *name) struct fastbuf * bopen(byte *name, uns mode, uns buffer) { + struct fastbuf *b; int fd = sh_open(name, mode, 0666); if (fd < 0) die("Unable to %s file %s: %m", (mode & O_CREAT) ? "create" : "open", name); - return bfdopen_internal(fd, buffer, name); + b = bfdopen_internal(fd, buffer, name); + if (mode & O_APPEND) + bfd_seek(b, 0, SEEK_END); + return b; } struct fastbuf *