iwinfo: assume that no tx power information is available if nl80211 returns 0 dBm...
authorJo-Philipp Wich <jow@openwrt.org>
Mon, 28 May 2012 00:52:26 +0000 (00:52 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Mon, 28 May 2012 00:52:26 +0000 (00:52 +0000)
SVN-Revision: 31932

package/iwinfo/src/iwinfo_lua.c
package/iwinfo/src/iwinfo_nl80211.c

index e4435c1ff086f851b5497c7293aaaf6c7554c6d0..bd8faf91fec92c1714133149c8564ac0d7a3298e 100644 (file)
@@ -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 */
index 704049007ae31957217f4c576b9161a7e396a29a..4205336f6a720511beb3a9bb351c0426622a1db8 100644 (file)
@@ -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;