From 9b1c586b2f5b86173bf0ceca8a0dd84510af9024 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Mon, 25 Nov 2002 15:33:33 -0200 Subject: renaming `stringdump' -> `string.dump' --- lstrlib.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'lstrlib.c') diff --git a/lstrlib.c b/lstrlib.c index 824ee36e..1b3e75a7 100644 --- a/lstrlib.c +++ b/lstrlib.c @@ -1,5 +1,5 @@ /* -** $Id: lstrlib.c,v 1.89 2002/08/23 19:45:24 roberto Exp roberto $ +** $Id: lstrlib.c,v 1.90 2002/11/14 15:41:38 roberto Exp roberto $ ** Standard library for string operations and pattern-matching ** See Copyright Notice in lua.h */ @@ -117,6 +117,24 @@ static int str_char (lua_State *L) { } +static int writer (lua_State *L, const void* b, size_t size, void* B) { + (void)L; + luaL_addlstring((luaL_Buffer*) B, (const char *)b, size); + return 1; +} + + +static int str_dump (lua_State *L) { + luaL_Buffer b; + luaL_checktype(L, 1, LUA_TFUNCTION); + luaL_buffinit(L,&b); + if (!lua_dump(L, writer, &b)) + luaL_error(L, "unable to dump given function"); + luaL_pushresult(&b); + return 1; +} + + /* ** {====================================================== @@ -730,6 +748,7 @@ static const luaL_reg strlib[] = { {"rep", str_rep}, {"byte", str_byte}, {"format", str_format}, + {"dump", str_dump}, {"find", str_find}, {"gfind", gfind}, {"gsub", str_gsub}, -- cgit v1.2.3-55-g6feb