[Tarantool-patches] [PATCH v3 2/5] lua/fio: Add lbox_fio_push_error as a separate helper

Cyrill Gorcunov gorcunov at gmail.com
Wed Dec 11 12:28:30 MSK 2019


Since lbox_fio_pushbool always push boolean first
it is inpossible to use it inside other routines.
Thus make a separate helper lbox_fio_push_error
which will be used in popen code later.

Part-of #4031

Signed-off-by: Cyrill Gorcunov <gorcunov at gmail.com>
---
 src/lua/fio.c | 15 +++++++++++----
 1 file changed, 11 insertions(+), 4 deletions(-)

diff --git a/src/lua/fio.c b/src/lua/fio.c
index 7437cc0c6..33ccd5d71 100644
--- a/src/lua/fio.c
+++ b/src/lua/fio.c
@@ -52,6 +52,16 @@
 	luaT_push_nil_and_error(L);				\
 })
 
+static inline int
+lbox_fio_push_error(struct lua_State *L)
+{
+	diag_set(SystemError, "fio: %s", strerror(errno));
+	struct error *e = diag_last_error(diag_get());
+	assert(e != NULL);
+	luaT_pusherror(L, e);
+	return 1;
+}
+
 static int
 lbox_fio_open(struct lua_State *L)
 {
@@ -118,10 +128,7 @@ lbox_fio_pushbool(struct lua_State *L, bool res)
 {
 	lua_pushboolean(L, res);
 	if (!res) {
-		diag_set(SystemError, "fio: %s", strerror(errno));
-		struct error *e = diag_last_error(diag_get());
-		assert(e != NULL);
-		luaT_pusherror(L, e);
+		lbox_fio_push_error(L);
 		return 2;
 	}
 	return 1;
-- 
2.20.1



More information about the Tarantool-patches mailing list