Jelajahi Sumber

iwinfo: assume that no tx power information is available if nl80211 returns 0 dBm maximum

SVN-Revision: 31932
Jo-Philipp Wich 13 tahun lalu
induk
melakukan
83758220ae
2 mengubah file dengan 6 tambahan dan 3 penghapusan
  1. 5 2
      package/iwinfo/src/iwinfo_lua.c
  2. 1 1
      package/iwinfo/src/iwinfo_nl80211.c

+ 5 - 2
package/iwinfo/src/iwinfo_lua.c

@@ -332,11 +332,12 @@ static int iwinfo_L_txpwrlist(lua_State *L, int (*func)(const char *, char *, in
 	const char *ifname = luaL_checkstring(L, 1);
 	struct iwinfo_txpwrlist_entry *e;
 
-	lua_newtable(L);
 	memset(rv, 0, sizeof(rv));
 
 	if (!(*func)(ifname, rv, &len))
 	{
+		lua_newtable(L);
+
 		for (i = 0, x = 1; i < len; i += sizeof(struct iwinfo_txpwrlist_entry), x++)
 		{
 			e = (struct iwinfo_txpwrlist_entry *) &rv[i];
@@ -351,9 +352,11 @@ static int iwinfo_L_txpwrlist(lua_State *L, int (*func)(const char *, char *, in
 
 			lua_rawseti(L, -2, x);
 		}
+
+		return 1;
 	}
 
-	return 1;
+	return 0;
 }
 
 /* Wrapper for scan list */

+ 1 - 1
package/iwinfo/src/iwinfo_nl80211.c

@@ -1371,7 +1371,7 @@ int nl80211_get_txpwrlist(const char *ifname, char *buf, int *len)
 		nl80211_free(req);
 	}
 
-	if (dbm_max > -1)
+	if (dbm_max > 0)
 	{
 		for (dbm_cur = 0, dbm_cnt = 0;
 		     dbm_cur < dbm_max;