iwinfo: fix iwinfo_hardware() return value if chip id is not found

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36471 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Jo-Philipp Wich 2013-04-28 14:04:39 +00:00
parent 9aa9b6b482
commit fde7fcd36c
2 changed files with 4 additions and 7 deletions

View 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 := \

View 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)