On Wed, 12 Dec 2012 08:50:27 +0700, Nguyen Thai Ngoc Duy <pclouds@xxxxxxxxx> wrote: > On Wed, Dec 12, 2012 at 7:53 AM, Tomas Carnecky > <tomas.carnecky@xxxxxxxxx> wrote: > > If it doesn't, it would be trivial to add. It's a one-liner. It's been a while > > since I used Lua, but it would be something like this: > > > > void L_putenv(lua_State *L) { > > putenv(lua_tostring(L, 1)); > > } > > > > and then somewhere during setup: > > > > lua_register(L, "putenv", L_putenv); > > I should have done my homework before asking, but well.. is there any > way to automate this? If we use lua for writing "builtin" commands, > we'll need to export a lot of C functions and writing wrappers like > this is boring and time consuming. Also, assume I export fn(char*,int) > to Lua, then I change the prototype to fn(char*, char*), can Lua spot > all the call sites at compile time (or something) so I can update > them? A Patrick mentioned in an earlier email, there is luaposix which includes lots of these functions [1]. There may be tools which generate these bindings automatically, but I'm not aware of any. Likewise, I'm not aware of any static analyzer which would be required to spot changes in the prototypes (though you could cover some(most?) of it through tests). The last time I seriously used Lua and its C bindings was many years ago, so I am not the best person to answer these questions. [1]: http://luaposix.github.com/luaposix/docs/index.html -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html