simplify and don't deref NULL.
This commit is contained in:
parent
13580ba5b6
commit
3cc7694381
@ -1,4 +1,4 @@
|
||||
/* $NetBSD: sysmon_envsys_tables.c,v 1.7 2011/06/19 03:09:43 pgoyette Exp $ */
|
||||
/* $NetBSD: sysmon_envsys_tables.c,v 1.8 2011/06/19 04:23:18 christos Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 2007 Juan Romero Pardines.
|
||||
@ -26,7 +26,7 @@
|
||||
*/
|
||||
|
||||
#include <sys/cdefs.h>
|
||||
__KERNEL_RCSID(0, "$NetBSD: sysmon_envsys_tables.c,v 1.7 2011/06/19 03:09:43 pgoyette Exp $");
|
||||
__KERNEL_RCSID(0, "$NetBSD: sysmon_envsys_tables.c,v 1.8 2011/06/19 04:23:18 christos Exp $");
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
@ -100,58 +100,51 @@ static const struct sme_descr_entry sme_batterycap_description[] = {
|
||||
{ -1, -1, "UNKNOWN" }
|
||||
};
|
||||
|
||||
static const struct sme_desc_entry *
|
||||
sme_find_table(enum sme_descr_type table_id)
|
||||
{
|
||||
switch (table_id) {
|
||||
case SME_DESC_UNITS:
|
||||
return sme_units_description;
|
||||
break;
|
||||
case SME_DESC_STATES:
|
||||
return sme_state_description;
|
||||
break;
|
||||
case SME_DESC_DRIVE_STATES:
|
||||
return sme_drivestate_description;
|
||||
break;
|
||||
case SME_DESC_BATTERY_CAPACITY:
|
||||
return sme_batterycap_description;
|
||||
break;
|
||||
default:
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* Returns the entry from specified table with type == key
|
||||
*/
|
||||
const struct sme_descr_entry *
|
||||
sme_find_table_entry(enum sme_descr_type table_id, int key)
|
||||
{
|
||||
const struct sme_descr_entry *table = NULL;
|
||||
const struct sme_descr_entry *table = sme_find_table();
|
||||
|
||||
switch (table_id) {
|
||||
case SME_DESC_UNITS:
|
||||
table = sme_units_description;
|
||||
break;
|
||||
case SME_DESC_STATES:
|
||||
table = sme_state_description;
|
||||
break;
|
||||
case SME_DESC_DRIVE_STATES:
|
||||
table = sme_drivestate_description;
|
||||
break;
|
||||
case SME_DESC_BATTERY_CAPACITY:
|
||||
table = sme_batterycap_description;
|
||||
break;
|
||||
}
|
||||
if (table != NULL)
|
||||
for (; table->type != -1; table++)
|
||||
if (table->type == key)
|
||||
return table;
|
||||
|
||||
for (; table->type != -1; table++)
|
||||
if (table->type == key)
|
||||
break;
|
||||
|
||||
return table;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
const struct sme_descr_entry *
|
||||
sme_find_table_desc(enum sme_descr_type table_id, const char *str)
|
||||
{
|
||||
const struct sme_descr_entry *table = NULL;
|
||||
const struct sme_descr_entry *table = sme_find_table();
|
||||
|
||||
switch (table_id) {
|
||||
case SME_DESC_UNITS:
|
||||
table = sme_units_description;
|
||||
break;
|
||||
case SME_DESC_STATES:
|
||||
table = sme_state_description;
|
||||
break;
|
||||
case SME_DESC_DRIVE_STATES:
|
||||
table = sme_drivestate_description;
|
||||
break;
|
||||
case SME_DESC_BATTERY_CAPACITY:
|
||||
table = sme_batterycap_description;
|
||||
break;
|
||||
}
|
||||
|
||||
for (; table->type != -1; table++)
|
||||
if (strcmp(table->desc, str) == 0)
|
||||
break;
|
||||
return table;
|
||||
if (table != NULL)
|
||||
for (; table->type != -1; table++)
|
||||
if (strcmp(table->desc, str) == 0)
|
||||
return table;
|
||||
return NULL;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user