diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2012-05-28 00:52:26 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2012-05-28 00:52:26 +0000 |
commit | 83758220ae125618cab5108265b586ac5f47baf7 (patch) | |
tree | e2a02c9c41ad320c91548602ecc69db39f99ce06 | |
parent | 022fa36b40b02248436584cf0f71bb26d79eb644 (diff) | |
download | openwrt-83758220ae125618cab5108265b586ac5f47baf7.tar.gz openwrt-83758220ae125618cab5108265b586ac5f47baf7.tar.bz2 openwrt-83758220ae125618cab5108265b586ac5f47baf7.zip |
iwinfo: assume that no tx power information is available if nl80211 returns 0 dBm maximum
SVN-Revision: 31932
-rw-r--r-- | package/iwinfo/src/iwinfo_lua.c | 7 | ||||
-rw-r--r-- | package/iwinfo/src/iwinfo_nl80211.c | 2 |
2 files changed, 6 insertions, 3 deletions
diff --git a/package/iwinfo/src/iwinfo_lua.c b/package/iwinfo/src/iwinfo_lua.c index e4435c1ff0..bd8faf91fe 100644 --- a/package/iwinfo/src/iwinfo_lua.c +++ b/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 */ diff --git a/package/iwinfo/src/iwinfo_nl80211.c b/package/iwinfo/src/iwinfo_nl80211.c index 704049007a..4205336f6a 100644 --- a/package/iwinfo/src/iwinfo_nl80211.c +++ b/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; |