]> git.ipfire.org Git - thirdparty/rspamd.git/commitdiff
[Minor] Allow to create fann from table of layers
authorVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 8 Oct 2016 14:57:43 +0000 (15:57 +0100)
committerVsevolod Stakhov <vsevolod@highsecure.ru>
Sat, 8 Oct 2016 15:35:42 +0000 (16:35 +0100)
src/lua/lua_fann.c

index 3d15c64170edf437aed5791db1f4d0f919692e5a..51d42b573af987107d6fbd7a0654f7cfe4a79428 100644 (file)
@@ -116,8 +116,17 @@ lua_fann_create (lua_State *L)
        if (nlayers > 0) {
                layers = g_malloc (nlayers * sizeof (layers[0]));
 
-               for (i = 0; i < nlayers; i ++) {
-                       layers[i] = luaL_checknumber (L, i + 2);
+               if (lua_type (L, 2) == LUA_TNUMBER) {
+                       for (i = 0; i < nlayers; i ++) {
+                               layers[i] = luaL_checknumber (L, i + 2);
+                       }
+               }
+               else if (lua_type (L, 2) == LUA_TTABLE) {
+                       for (i = 0; i < nlayers; i ++) {
+                               lua_rawgeti (L, 2, i + 1);
+                               layers[i] = luaL_checknumber (L, -1);
+                               lua_pop (L, 1);
+                       }
                }
 
                f = fann_create_standard_array (nlayers, layers);