[Tarantool-patches] [PATCH 2/2] popen: add popen Lua module
Alexander Turenko
alexander.turenko at tarantool.org
Tue Apr 21 16:38:29 MSK 2020
> > > > +static int
> > > > +luaT_push_string_noxc(struct lua_State *L, char *str, size_t len)
> > > > +{
> > > > + lua_pushcfunction(L, luaT_push_string_noxc_wrapper);
> > > > + lua_pushlightuserdata(L, str);
> > > > + lua_pushinteger(L, len);
> > > > + return luaT_call(L, 2, 1);
> > > > +}
> > >
> > > Minor: IMHO luaT_pushstring_* is more Lua-like naming.
> >
> > It is from past agreements too: we discussed this with Vladimir D. and
> > agreed to split 'foo' and 'bar' in 'lua*_foo_bar_baz()', when there is
> > 'baz'. When there is no 'baz', it is 'lua*_foobar()'.
>
> Are there any docs/guides/notes as a result of this discussion?
Nope.
> > > > +
> > > > + lua_getfield(L, 2, "timeout");
> > > > + if (!lua_isnil(L, -1) &&
> > > > + (timeout = luaT_check_timeout(L, -1)) < 0.0)
> > > > + goto usage;
> > > > + lua_pop(L, 1);
> > >
> > > Minor: I see this passage only in two similar places, so I propose to
> > > move everything to a timeout-related helper.
> >
> > luaT_check_timeout() is already this helper. Don't sure it worth to add
> > one more wrapping level.
>
> I mean you can also move there all table manipulations and checks.
But fail branch do a function specific logic. I don't sure here. It
seems we can pass an error string to the function.
However lua*_check_foo() pattern is used across tarantool (see
luaL_checkibuf() for example) and timeout helper may become common
sooner or later.
WBR, Alexander Turenko.
More information about the Tarantool-patches
mailing list