summaryrefslogtreecommitdiff
path: root/lib/LuaHandle.cc
diff options
context:
space:
mode:
Diffstat (limited to 'lib/LuaHandle.cc')
-rw-r--r--lib/LuaHandle.cc26
1 files changed, 21 insertions, 5 deletions
diff --git a/lib/LuaHandle.cc b/lib/LuaHandle.cc
index 1bd39d3..e336f54 100644
--- a/lib/LuaHandle.cc
+++ b/lib/LuaHandle.cc
@@ -64,6 +64,7 @@ class sLuaHandle : public Base {
static int bnewindex(lua_State * L);
static int bseek(lua_State * L);
static int btell(lua_State * L);
+ static int breset(lua_State * L);
static int exists(lua_State * L);
static int get_nb_handles(lua_State * L);
static int get_nb_input(lua_State * L);
@@ -692,6 +693,20 @@ int sLuaHandle::bseek(lua_State * __L) {
return 1;
}
+int sLuaHandle::breset(lua_State * __L) {
+ Lua * L = Lua::find(__L);
+ int n = L->gettop();
+ Buffer * h;
+
+ if (n != 1) {
+ L->error("Incorrect arguments to method `Buffer::reset'");
+ }
+
+ h = (Buffer *) LuaObject::getme(L);
+ h->reset();
+ return 0;
+}
+
int sLuaHandle::exists(lua_State * __L) {
Lua * L = Lua::find(__L);
int n = L->gettop();
@@ -733,6 +748,7 @@ void LuaBuffer::pushmembers(Lua * L) {
pushmeta(L, "__newindex", sLuaHandle::bnewindex);
pushit(L, "wtell", sLuaHandle::btell);
pushit(L, "wseek", sLuaHandle::bseek);
+ pushit(L, "reset", sLuaHandle::breset);
L->push("__handletype");
L->push("Buffer");
L->settable(-3, true);
@@ -741,11 +757,11 @@ void LuaBuffer::pushmembers(Lua * L) {
void LuaHandle::pushmembers(Lua * L) {
pushme(L, h, "Handle");
- pushit(L, "read", &sLuaHandle::read);
- pushit(L, "write", &sLuaHandle::write);
+ pushit(L, "read", sLuaHandle::read);
+ pushit(L, "write", sLuaHandle::write);
- pushit(L, "readstring", &sLuaHandle::readstring);
- pushit(L, "writestring", &sLuaHandle::writestring);
+ pushit(L, "readstring", sLuaHandle::readstring);
+ pushit(L, "writestring", sLuaHandle::writestring);
pushit(L, "readU8", sLuaHandle::readU8);
pushit(L, "readU16", sLuaHandle::readU16);
@@ -764,7 +780,7 @@ void LuaHandle::pushmembers(Lua * L) {
pushit(L, "isclosed", sLuaHandle::isclosed);
pushit(L, "isnonblock", sLuaHandle::isnonblock);
pushit(L, "canread", sLuaHandle::canread);
- pushit(L, "canwrite", sLuaHandle::canwatch);
+ pushit(L, "canwrite", sLuaHandle::canwrite);
pushit(L, "canseek", sLuaHandle::canseek);
pushit(L, "canwatch", sLuaHandle::canwatch);