summaryrefslogtreecommitdiffhomepage
path: root/buffer.c
diff options
context:
space:
mode:
Diffstat (limited to 'buffer.c')
-rw-r--r--buffer.c24
1 files changed, 12 insertions, 12 deletions
diff --git a/buffer.c b/buffer.c
index cadfb7d..ad6ca25 100644
--- a/buffer.c
+++ b/buffer.c
@@ -31,23 +31,23 @@ void grow(lua_State * L, struct buffer * b)
b->allocated = allocated;
}
-int read_more(lua_State * L, struct stream * s, int minimum_length, lua_KContext ctx)
+int read_more(lua_State * L, int fd, struct buffer * in, int minimum_length, lua_KContext ctx)
{
- const int free_space = s->in.allocated + s->in.offset - s->in.length - 1;
+ const int free_space = in->allocated + in->offset - in->length - 1;
while (free_space < minimum_length)
{
- grow(L, &s->in);
+ grow(L, in);
}
- if (0 < s->in.offset)
+ if (0 < in->offset)
{
- memmove(s->in.data, s->in.data + s->in.offset, s->in.length - s->in.offset);
- s->in.offset = 0;
- s->in.length -= s->in.offset;
+ memmove(in->data, in->data + in->offset, in->length - in->offset);
+ in->offset = 0;
+ in->length -= in->offset;
}
- int length = read(s->fd, s->in.data + s->in.length, free_space);
+ int length = read(fd, in->data + in->length, free_space);
if (-1 == length)
{
@@ -62,18 +62,18 @@ int read_more(lua_State * L, struct stream * s, int minimum_length, lua_KContext
}
}
- s->in.length += length;
+ in->length += length;
return length;
}
-int prepare_at_least(lua_State * L, struct stream * s, int minimum_length, lua_KContext ctx)
+int prepare_at_least(lua_State * L, int fd, struct buffer * in, int minimum_length, lua_KContext ctx)
{
- const int remaining_bytes = s->in.length - s->in.next;
+ const int remaining_bytes = in->length - in->next;
if (remaining_bytes < minimum_length)
{
- return read_more(L, s, minimum_length, ctx);
+ return read_more(L, fd, in, minimum_length, ctx);
}
return remaining_bytes;