]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
print_tls_client_params: print all address#port pairs
authorVladimír Čunát <vladimir.cunat@nic.cz>
Tue, 5 Dec 2017 17:02:57 +0000 (18:02 +0100)
committerPetr Špaček <petr.spacek@nic.cz>
Mon, 8 Jan 2018 11:01:00 +0000 (12:01 +0100)
nitpick: pre-allocate table sizes

daemon/bindings.c

index 88b4e74e1af410096378a2a1315b768a9b5b741b..6875fa9fe35b32bab7c2f04c99f82be933f2f573 100644 (file)
@@ -408,30 +408,32 @@ static int print_tls_param(const char *key, void *val, void *data)
 
        lua_State *L = (lua_State *)data;
 
-       lua_newtable(L);
-       lua_newtable(L);
+       lua_createtable(L, 0, 3);
 
-       lua_newtable(L);
+       lua_createtable(L, entry->pins.len, 0);
        for (size_t i = 0; i < entry->pins.len; ++i) {
                lua_pushnumber(L, i + 1);
                lua_pushstring(L, entry->pins.at[i]);
                lua_settable(L, -3);
        }
        lua_setfield(L, -2, "pins");
-       lua_newtable(L);
+
+       lua_createtable(L, entry->ca_files.len, 0);
        for (size_t i = 0; i < entry->ca_files.len; ++i) {
                lua_pushnumber(L, i + 1);
                lua_pushstring(L, entry->ca_files.at[i]);
                lua_settable(L, -3);
        }
-       lua_setfield(L, -2, "ca files");
-       lua_newtable(L);
+       lua_setfield(L, -2, "ca_files");
+
+       lua_createtable(L, entry->hostnames.len, 0);
        for (size_t i = 0; i < entry->hostnames.len; ++i) {
                lua_pushnumber(L, i + 1);
                lua_pushstring(L, entry->hostnames.at[i]);
                lua_settable(L, -3);
        }
        lua_setfield(L, -2, "hostnames");
+
        lua_setfield(L, -2, key);
 
        return 0;
@@ -450,6 +452,7 @@ static int print_tls_client_params(lua_State *L)
        if (net->tls_client_params.root == 0 ) {
                return 0;
        }
+       lua_newtable(L);
        map_walk(&net->tls_client_params, print_tls_param, (void *)L);
        return 1;
 }