Main Page
Related Pages
Modules
Namespaces
Namespace List
Namespace Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
Variables
_
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
i
l
m
n
o
p
r
s
t
u
v
Enumerator
a
b
c
d
f
g
h
i
l
m
n
o
p
r
s
t
u
v
x
y
Classes
Class List
Class Hierarchy
Class Members
All
:
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
~
Variables
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Typedefs
a
b
c
d
e
f
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
Enumerations
a
b
c
d
e
f
g
h
i
k
l
m
o
p
r
s
t
u
w
x
Enumerator
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
r
s
t
u
v
w
x
y
Properties
a
b
c
d
f
g
h
i
k
l
m
n
o
p
r
s
t
u
v
w
Related Functions
:
a
b
c
d
e
f
g
i
m
o
q
r
s
v
w
Files
File List
File Members
All
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Functions
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
Variables
_
a
b
c
d
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
x
z
Typedefs
a
b
c
d
e
f
g
h
i
k
l
m
n
o
p
q
r
s
t
u
v
w
x
z
Enumerations
b
c
d
e
f
h
k
l
o
p
r
s
t
u
x
z
Enumerator
b
c
d
f
h
i
k
l
n
o
p
r
s
t
u
v
w
x
z
Macros
_
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
3rdparty
lua-5.4.3
src
lzio.c
Go to the documentation of this file.
1
/*
2
** $Id: lzio.c $
3
** Buffered streams
4
** See Copyright Notice in lua.h
5
*/
6
7
#define lzio_c
8
#define LUA_CORE
9
10
#include "
lprefix.h
"
11
12
13
#include <string.h>
14
15
#include "
lua.h
"
16
17
#include "
llimits.h
"
18
#include "
lmem.h
"
19
#include "
lstate.h
"
20
#include "
lzio.h
"
21
22
23
int
luaZ_fill
(
ZIO
*
z
) {
24
size_t
size
;
25
lua_State
*L =
z
->L;
26
const
char
*buff;
27
lua_unlock
(L);
28
buff =
z
->reader(L,
z
->data, &
size
);
29
lua_lock
(L);
30
if
(buff == NULL ||
size
== 0)
31
return
EOZ
;
32
z
->n =
size
- 1;
/* discount char being returned */
33
z
->p = buff;
34
return
cast_uchar
(*(
z
->p++));
35
}
36
37
38
void
luaZ_init
(
lua_State
*L,
ZIO
*
z
,
lua_Reader
reader
,
void
*
data
) {
39
z
->L = L;
40
z
->reader =
reader
;
41
z
->data =
data
;
42
z
->n = 0;
43
z
->p = NULL;
44
}
45
46
47
/* --------------------------------------------------------------- read --- */
48
size_t
luaZ_read
(
ZIO
*
z
,
void
*b,
size_t
n) {
49
while
(n) {
50
size_t
m;
51
if
(
z
->n == 0) {
/* no bytes in buffer? */
52
if
(
luaZ_fill
(
z
) ==
EOZ
)
/* try to read more */
53
return
n;
/* no more input; return number of missing bytes */
54
else
{
55
z
->n++;
/* luaZ_fill consumed first byte; put it back */
56
z
->p--;
57
}
58
}
59
m = (n <=
z
->n) ? n :
z
->n;
/* min. between n and z->n */
60
memcpy(b,
z
->p, m);
61
z
->n -= m;
62
z
->p += m;
63
b = (
char
*)b + m;
64
n -= m;
65
}
66
return
0;
67
}
68
lstate.h
lua_Reader
const typedef char *(* lua_Reader)(lua_State *L, void *ud, size_t *sz)
Definition:
lua.h:117
lua_unlock
#define lua_unlock(L)
Definition:
llimits.h:238
llimits.h
luaZ_read
size_t luaZ_read(ZIO *z, void *b, size_t n)
Definition:
lzio.c:48
mqtt_test_proto.z
z
Definition:
mqtt_test_proto.py:36
lua.h
nonstd::span_lite::size
span_constexpr std::size_t size(span< T, Extent > const &spn)
Definition:
span.hpp:1554
lprefix.h
lua_lock
#define lua_lock(L)
Definition:
llimits.h:237
lua_State
Definition:
lstate.h:304
cast_uchar
#define cast_uchar(i)
Definition:
llimits.h:131
luaZ_init
void luaZ_init(lua_State *L, ZIO *z, lua_Reader reader, void *data)
Definition:
lzio.c:38
reader
static const char * reader(lua_State *L, void *ud, size_t *size)
Definition:
luac.c:126
mqtt_test.data
dictionary data
Definition:
mqtt_test.py:22
lmem.h
luaZ_fill
int luaZ_fill(ZIO *z)
Definition:
lzio.c:23
Zio
Definition:
lzio.h:55
lzio.h
EOZ
#define EOZ
Definition:
lzio.h:16
plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Jan 26 2025 03:23:24