]> mj.ucw.cz Git - libucw.git/blobdiff - lib/fastbuf.c
Merge with git+ssh://cvs.ucw.cz/projects/sherlock/GIT/sherlock.git#v3.11
[libucw.git] / lib / fastbuf.c
index 79229d4e1d372bf981a92cd4c5adea28b3802b7c..be7e979015e0f797021cd9eb19c53ea68188f6de 100644 (file)
@@ -1,7 +1,7 @@
 /*
  *     UCW Library -- Fast Buffered I/O
  *
- *     (c) 1997--2006 Martin Mares <mj@ucw.cz>
+ *     (c) 1997--2007 Martin Mares <mj@ucw.cz>
  *
  *     This software may be freely distributed and used according to the terms
  *     of the GNU Lesser General Public License.
@@ -10,6 +10,7 @@
 #include "lib/lib.h"
 #include "lib/fastbuf.h"
 
+#include <stdio.h>
 #include <stdlib.h>
 
 void bclose(struct fastbuf *f)
@@ -66,7 +67,7 @@ int bgetc_slow(struct fastbuf *f)
   if (f->bptr < f->bstop)
     return *f->bptr++;
   if (!f->refill(f))
-    return EOF;
+    return -1;
   return *f->bptr++;
 }
 
@@ -75,7 +76,7 @@ int bpeekc_slow(struct fastbuf *f)
   if (f->bptr < f->bstop)
     return *f->bptr;
   if (!f->refill(f))
-    return EOF;
+    return -1;
   return *f->bptr;
 }
 
@@ -113,7 +114,7 @@ uns bread_slow(struct fastbuf *f, void *b, uns l, uns check)
   return total;
 }
 
-void bwrite_slow(struct fastbuf *f, void *b, uns l)
+void bwrite_slow(struct fastbuf *f, const void *b, uns l)
 {
   while (l)
     {
@@ -195,7 +196,7 @@ bfilesize(struct fastbuf *f)
     return 0;
   sh_off_t pos = btell(f);
   bflush(f);
-  if (!f->seek(f, pos, SEEK_END))
+  if (!f->seek(f, 0, SEEK_END))
     return -1;
   sh_off_t len = btell(f);
   bsetpos(f, pos);