Github User Fetcher 1.0.0
C Application with Server and GUI
Loading...
Searching...
No Matches
lzio.h File Reference
#include "lua.h"
#include "lmem.h"

Go to the source code of this file.

Data Structures

struct  Mbuffer
 
struct  Zio
 

Macros

#define EOZ   (-1) /* end of stream */
 
#define zgetc(z)   (((z)->n--)>0 ? cast_uchar(*(z)->p++) : luaZ_fill(z))
 
#define luaZ_initbuffer(L, buff)   ((buff)->buffer = NULL, (buff)->buffsize = 0)
 
#define luaZ_buffer(buff)   ((buff)->buffer)
 
#define luaZ_sizebuffer(buff)   ((buff)->buffsize)
 
#define luaZ_bufflen(buff)   ((buff)->n)
 
#define luaZ_buffremove(buff, i)   ((buff)->n -= (i))
 
#define luaZ_resetbuffer(buff)   ((buff)->n = 0)
 
#define luaZ_resizebuffer(L, buff, size)
 
#define luaZ_freebuffer(L, buff)   luaZ_resizebuffer(L, buff, 0)
 

Typedefs

typedef struct Zio ZIO
 
typedef struct Mbuffer Mbuffer
 

Functions

LUAI_FUNC void luaZ_init (lua_State *L, ZIO *z, lua_Reader reader, void *data)
 
LUAI_FUNC size_t luaZ_read (ZIO *z, void *b, size_t n)
 
LUAI_FUNC int luaZ_fill (ZIO *z)
 

Macro Definition Documentation

◆ EOZ

#define EOZ   (-1) /* end of stream */

Definition at line 16 of file lua-5.3.6/src/lzio.h.

◆ luaZ_buffer

#define luaZ_buffer ( buff)    ((buff)->buffer)

Definition at line 31 of file lua-5.3.6/src/lzio.h.

◆ luaZ_bufflen

#define luaZ_bufflen ( buff)    ((buff)->n)

Definition at line 33 of file lua-5.3.6/src/lzio.h.

◆ luaZ_buffremove

#define luaZ_buffremove ( buff,
i )   ((buff)->n -= (i))

◆ luaZ_freebuffer

#define luaZ_freebuffer ( L,
buff )   luaZ_resizebuffer(L, buff, 0)

Definition at line 44 of file lua-5.3.6/src/lzio.h.

◆ luaZ_initbuffer

#define luaZ_initbuffer ( L,
buff )   ((buff)->buffer = NULL, (buff)->buffsize = 0)

Definition at line 29 of file lua-5.3.6/src/lzio.h.

◆ luaZ_resetbuffer

#define luaZ_resetbuffer ( buff)    ((buff)->n = 0)

Definition at line 36 of file lua-5.3.6/src/lzio.h.

◆ luaZ_resizebuffer

#define luaZ_resizebuffer ( L,
buff,
size )
Value:
((buff)->buffer = luaM_reallocvchar(L, (buff)->buffer, \
(buff)->buffsize, size), \
(buff)->buffsize = size)
#define luaM_reallocvchar(L, b, on, n)

Definition at line 39 of file lua-5.3.6/src/lzio.h.

39#define luaZ_resizebuffer(L, buff, size) \
40 ((buff)->buffer = luaM_reallocvchar(L, (buff)->buffer, \
41 (buff)->buffsize, size), \
42 (buff)->buffsize = size)

◆ luaZ_sizebuffer

#define luaZ_sizebuffer ( buff)    ((buff)->buffsize)

Definition at line 32 of file lua-5.3.6/src/lzio.h.

◆ zgetc

#define zgetc ( z)    (((z)->n--)>0 ? cast_uchar(*(z)->p++) : luaZ_fill(z))

Definition at line 20 of file lua-5.3.6/src/lzio.h.

Typedef Documentation

◆ Mbuffer

typedef struct Mbuffer Mbuffer

◆ ZIO

typedef struct Zio ZIO

Definition at line 18 of file lua-5.3.6/src/lzio.h.

Function Documentation

◆ luaZ_fill()

LUAI_FUNC int luaZ_fill ( ZIO * z)

Definition at line 21 of file lua-5.1.5/src/lzio.c.

21 {
22 size_t size;
23 lua_State *L = z->L;
24 const char *buff;
25 lua_unlock(L);
26 buff = z->reader(L, z->data, &size);
27 lua_lock(L);
28 if (buff == NULL || size == 0) return EOZ;
29 z->n = size - 1;
30 z->p = buff;
31 return char2int(*(z->p++));
32}
#define NULL
Definition gmacros.h:924
#define lua_unlock(L)
#define lua_lock(L)
#define EOZ
#define char2int(c)
void * data
lua_Reader reader
lua_State * L
const char * p

◆ luaZ_init()

LUAI_FUNC void luaZ_init ( lua_State * L,
ZIO * z,
lua_Reader reader,
void * data )

Definition at line 48 of file lua-5.1.5/src/lzio.c.

48 {
49 z->L = L;
50 z->reader = reader;
51 z->data = data;
52 z->n = 0;
53 z->p = NULL;
54}
static const char * reader(lua_State *L, void *ud, size_t *size)

◆ luaZ_read()

LUAI_FUNC size_t luaZ_read ( ZIO * z,
void * b,
size_t n )

Definition at line 58 of file lua-5.1.5/src/lzio.c.

58 {
59 while (n) {
60 size_t m;
61 if (luaZ_lookahead(z) == EOZ)
62 return n; /* return number of missing bytes */
63 m = (n <= z->n) ? n : z->n; /* min. between n and z->n */
64 memcpy(b, z->p, m);
65 z->n -= m;
66 z->p += m;
67 b = (char *)b + m;
68 n -= m;
69 }
70 return 0;
71}
int luaZ_lookahead(ZIO *z)