Browse Source

Fixes `net.ifinfo` failure

vsky 3 years ago
parent
commit
e28cf8d983
1 changed files with 5 additions and 2 deletions
  1. 5 2
      app/modules/net.c

+ 5 - 2
app/modules/net.c

@@ -983,7 +983,10 @@ field_from_ipaddr(lua_State *L, const char * field_name, ip_addr_t* addr) {
 
 static int net_ifinfo( lua_State* L ) {
   int ifidx = luaL_optint(L, 1, 0);
-
+  if (ifidx != 0 && ifidx != 1) {
+    return 0;
+  }
+  
   struct netif * nif = eagle_lwip_getif(ifidx);
   if (nif == NULL) {
     return 0;
@@ -1004,8 +1007,8 @@ static int net_ifinfo( lua_State* L ) {
     field_from_ipaddr(L, "server_ip" , &nif->dhcp->server_ip_addr  );
     field_from_ipaddr(L, "client_ip" , &nif->dhcp->offered_ip_addr );
     field_from_ipaddr(L, "ntp_server", &nif->dhcp->offered_ntp_addr);
+    lua_setfield(L, -2, "dhcp");
   }
-  lua_setfield(L, -2, "dhcp");
 
   return 1;
 }