From: Vsevolod Stakhov Date: Tue, 22 Dec 2015 00:52:44 +0000 (+0000) Subject: Allow to specify fann input count explicitly X-Git-Tag: 1.1.0~227 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a590c03b21a0f2fc1794c3c867ee6618a2fde176;p=thirdparty%2Frspamd.git Allow to specify fann input count explicitly --- diff --git a/src/lua/lua_fann.c b/src/lua/lua_fann.c index 90c037d358..633bf1b38e 100644 --- a/src/lua/lua_fann.c +++ b/src/lua/lua_fann.c @@ -289,16 +289,30 @@ lua_fann_test (lua_State *L) return 0; #else struct fann *f = rspamd_lua_check_fann (L, 1); - guint ninputs, noutputs, i; + guint ninputs, noutputs, i, tbl_idx = 2; float *cur_input, *cur_output; if (f != NULL) { /* First check sanity, call for table.getn for that */ - ninputs = rspamd_lua_table_size (L, 2); + if (lua_isnumber (L, 2)) { + ninputs = lua_tonumber (L, 2); + tbl_idx = 3; + } + else { + ninputs = rspamd_lua_table_size (L, 2); + + if (ninputs == 0) { + msg_err ("empty inputs number"); + lua_pushnil (L); + + return 1; + } + } + cur_input = g_malloc (ninputs * sizeof (gint)); for (i = 0; i < ninputs; i++) { - lua_rawgeti (L, 2, i + 1); + lua_rawgeti (L, tbl_idx, i + 1); cur_input[i] = lua_tonumber (L, -1); lua_pop (L, 1); }