diff options
Diffstat (limited to 'src/lua/lzio.c')
-rw-r--r-- | src/lua/lzio.c | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/src/lua/lzio.c b/src/lua/lzio.c deleted file mode 100644 index 84d4a35c..00000000 --- a/src/lua/lzio.c +++ /dev/null @@ -1,84 +0,0 @@ -/* -** $Id: lzio.c,v 1.5 2004/06/04 13:42:10 neil Exp $ -** a generic input stream interface -** See Copyright Notice in lua.h -*/ - - - -#include <stdio.h> -#include <string.h> - -#include "lua.h" - -#include "lzio.h" - - - -/* ----------------------------------------------------- memory buffers --- */ - -static int zmfilbuf (ZIO* z) { - (void)z; /* to avoid warnings */ - return EOZ; -} - - -ZIO* zmopen (ZIO* z, const char* b, size_t size, const char *name) { - if (b==NULL) return NULL; - z->n = size; - z->p = (const unsigned char *)b; - z->filbuf = zmfilbuf; - z->u = NULL; - z->name = name; - return z; -} - -/* ------------------------------------------------------------ strings --- */ - -ZIO* zsopen (ZIO* z, const char* s, const char *name) { - if (s==NULL) return NULL; - return zmopen(z, s, strlen(s), name); -} - -/* -------------------------------------------------------------- FILEs --- */ - -static int zffilbuf (ZIO* z) { - size_t n; - if (feof((FILE *)z->u)) return EOZ; - n = fread(z->buffer, 1, ZBSIZE, (FILE *)z->u); - if (n==0) return EOZ; - z->n = n-1; - z->p = z->buffer; - return *(z->p++); -} - - -ZIO* zFopen (ZIO* z, FILE* f, const char *name) { - if (f==NULL) return NULL; - z->n = 0; - z->p = z->buffer; - z->filbuf = zffilbuf; - z->u = f; - z->name = name; - return z; -} - - -/* --------------------------------------------------------------- read --- */ -size_t zread (ZIO *z, void *b, size_t n) { - while (n) { - size_t m; - if (z->n == 0) { - if (z->filbuf(z) == EOZ) - return n; /* return number of missing bytes */ - zungetc(z); /* put result from `filbuf' in the buffer */ - } - m = (n <= z->n) ? n : z->n; /* min. between n and z->n */ - memcpy(b, z->p, m); - z->n -= m; - z->p += m; - b = (char *)b + m; - n -= m; - } - return 0; -} |