iwinfo: fix iwinfo_hardware() return value if chip id is not found
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 28 Apr 2013 14:04:39 +0000 (14:04 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Sun, 28 Apr 2013 14:04:39 +0000 (14:04 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36471 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/network/utils/iwinfo/Makefile
package/network/utils/iwinfo/src/iwinfo_utils.c

index 3758692..e0090e0 100644 (file)
@@ -7,7 +7,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=libiwinfo
-PKG_RELEASE:=43
+PKG_RELEASE:=44
 
 PKG_BUILD_DIR := $(BUILD_DIR)/$(PKG_NAME)
 PKG_CONFIG_DEPENDS := \
index b6760c3..1a831f3 100644 (file)
@@ -131,7 +131,7 @@ struct iwinfo_hardware_entry * iwinfo_hardware(struct iwinfo_hardware_id *id)
 {
        FILE *db;
        char buf[256] = { 0 };
-       static struct iwinfo_hardware_entry e;
+       static struct iwinfo_hardware_entry e, *rv = NULL;
 
        if (!(db = fopen(IWINFO_HARDWARE_FILE, "r")))
                return NULL;
@@ -161,15 +161,12 @@ struct iwinfo_hardware_entry * iwinfo_hardware(struct iwinfo_hardware_id *id)
                        (e.subsystem_device_id != id->subsystem_device_id))
                        continue;
 
+               rv = &e;
                break;
        }
 
        fclose(db);
-
-       if (e.device_name[0])
-               return &e;
-
-       return NULL;
+       return rv;
 }
 
 int iwinfo_hardware_id_from_mtd(struct iwinfo_hardware_id *id)