mirror of
https://github.com/lm-sensors/lm-sensors
synced 2025-09-02 23:35:57 +00:00
Pass structures by reference in sensors and sensord, again for a
small performance gain and better consistency with the new libsensors API. git-svn-id: http://lm-sensors.org/svn/lm-sensors/branches/lm-sensors-3.0.0@4668 7894878c-1315-0410-8ee3-d5d059ff63e0
This commit is contained in:
@@ -157,13 +157,13 @@ applyToFeatures
|
|||||||
const char *rawLabel = NULL;
|
const char *rawLabel = NULL;
|
||||||
char *label = NULL;
|
char *label = NULL;
|
||||||
int valid = 0;
|
int valid = 0;
|
||||||
if (getValid (*chip, labelNumber, &valid)) {
|
if (getValid (chip, labelNumber, &valid)) {
|
||||||
sensorLog (LOG_ERR, "Error getting sensor validity: %s/#%d", chip->prefix, labelNumber);
|
sensorLog (LOG_ERR, "Error getting sensor validity: %s/#%d", chip->prefix, labelNumber);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
} else if (getRawLabel (*chip, labelNumber, &rawLabel)) {
|
} else if (getRawLabel (chip, labelNumber, &rawLabel)) {
|
||||||
sensorLog (LOG_ERR, "Error getting raw sensor label: %s/#%d", chip->prefix, labelNumber);
|
sensorLog (LOG_ERR, "Error getting raw sensor label: %s/#%d", chip->prefix, labelNumber);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
} else if (getLabel (*chip, labelNumber, &label)) {
|
} else if (getLabel (chip, labelNumber, &label)) {
|
||||||
sensorLog (LOG_ERR, "Error getting sensor label: %s/#%d", chip->prefix, labelNumber);
|
sensorLog (LOG_ERR, "Error getting sensor label: %s/#%d", chip->prefix, labelNumber);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
} else if (valid) {
|
} else if (valid) {
|
||||||
|
@@ -35,7 +35,7 @@
|
|||||||
|
|
||||||
int
|
int
|
||||||
getValid
|
getValid
|
||||||
(sensors_chip_name name, int feature, int *valid) {
|
(const sensors_chip_name *name, int feature, int *valid) {
|
||||||
int err;
|
int err;
|
||||||
err = sensors_get_ignored (name, feature);
|
err = sensors_get_ignored (name, feature);
|
||||||
if (err >= 0) {
|
if (err >= 0) {
|
||||||
@@ -47,19 +47,19 @@ getValid
|
|||||||
|
|
||||||
int
|
int
|
||||||
getLabel
|
getLabel
|
||||||
(sensors_chip_name name, int feature, char **label) {
|
(const sensors_chip_name *name, int feature, char **label) {
|
||||||
int err;
|
int err;
|
||||||
err = sensors_get_label (&name, feature, label);
|
err = sensors_get_label (name, feature, label);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
getRawLabel
|
getRawLabel
|
||||||
(sensors_chip_name name, int feature, const char **label) {
|
(const sensors_chip_name *name, int feature, const char **label) {
|
||||||
const sensors_feature_data *rawFeature;
|
const sensors_feature_data *rawFeature;
|
||||||
int nr1 = 0, nr2 = 0, err = 0;
|
int nr1 = 0, nr2 = 0, err = 0;
|
||||||
do {
|
do {
|
||||||
rawFeature = sensors_get_all_features (&name, &nr1, &nr2);
|
rawFeature = sensors_get_all_features (name, &nr1, &nr2);
|
||||||
} while (rawFeature && (rawFeature->number != feature));
|
} while (rawFeature && (rawFeature->number != feature));
|
||||||
/* TODO: Ensure labels match RRD construct and are not repeated! */
|
/* TODO: Ensure labels match RRD construct and are not repeated! */
|
||||||
if (!rawFeature) {
|
if (!rawFeature) {
|
||||||
@@ -110,10 +110,10 @@ readUnknownChip
|
|||||||
int valid = 0;
|
int valid = 0;
|
||||||
double value;
|
double value;
|
||||||
|
|
||||||
if (getValid (*chip, sensor->number, &valid)) {
|
if (getValid (chip, sensor->number, &valid)) {
|
||||||
sensorLog (LOG_ERR, "Error getting sensor validity: %s/%s", chip->prefix, sensor->name);
|
sensorLog (LOG_ERR, "Error getting sensor validity: %s/%s", chip->prefix, sensor->name);
|
||||||
ret = 20;
|
ret = 20;
|
||||||
} else if (getLabel (*chip, sensor->number, &label)) {
|
} else if (getLabel (chip, sensor->number, &label)) {
|
||||||
sensorLog (LOG_ERR, "Error getting sensor label: %s/%s", chip->prefix, sensor->name);
|
sensorLog (LOG_ERR, "Error getting sensor label: %s/%s", chip->prefix, sensor->name);
|
||||||
ret = 21;
|
ret = 21;
|
||||||
} else if (!valid) {
|
} else if (!valid) {
|
||||||
@@ -170,10 +170,10 @@ doKnownChip
|
|||||||
|
|
||||||
if ((action == DO_SCAN) && !alarm) {
|
if ((action == DO_SCAN) && !alarm) {
|
||||||
continue;
|
continue;
|
||||||
} else if (getValid (*chip, labelNumber, &valid)) {
|
} else if (getValid (chip, labelNumber, &valid)) {
|
||||||
sensorLog (LOG_ERR, "Error getting sensor validity: %s/#%d", chip->prefix, labelNumber);
|
sensorLog (LOG_ERR, "Error getting sensor validity: %s/#%d", chip->prefix, labelNumber);
|
||||||
ret = 22;
|
ret = 22;
|
||||||
} else if (getLabel (*chip, labelNumber, &label)) {
|
} else if (getLabel (chip, labelNumber, &label)) {
|
||||||
sensorLog (LOG_ERR, "Error getting sensor label: %s/#%d", chip->prefix, labelNumber);
|
sensorLog (LOG_ERR, "Error getting sensor label: %s/#%d", chip->prefix, labelNumber);
|
||||||
ret = 22;
|
ret = 22;
|
||||||
} else if (valid) {
|
} else if (valid) {
|
||||||
|
@@ -58,9 +58,9 @@ extern int unloadLib (void);
|
|||||||
|
|
||||||
/* from sense.c */
|
/* from sense.c */
|
||||||
|
|
||||||
extern int getValid (sensors_chip_name name, int feature, int *valid);
|
extern int getValid (const sensors_chip_name *name, int feature, int *valid);
|
||||||
extern int getLabel (sensors_chip_name name, int feature, char **label);
|
extern int getLabel (const sensors_chip_name *name, int feature, char **label);
|
||||||
extern int getRawLabel (sensors_chip_name name, int feature, const char **label);
|
extern int getRawLabel (const sensors_chip_name *name, int feature, const char **label);
|
||||||
|
|
||||||
extern int readChips (void);
|
extern int readChips (void);
|
||||||
extern int scanChips (void);
|
extern int scanChips (void);
|
||||||
|
@@ -46,10 +46,10 @@ extern int main(int argc, char *arv[]);
|
|||||||
static void print_short_help(void);
|
static void print_short_help(void);
|
||||||
static void print_long_help(void);
|
static void print_long_help(void);
|
||||||
static void print_version(void);
|
static void print_version(void);
|
||||||
static void do_a_print(sensors_chip_name name);
|
static void do_a_print(const sensors_chip_name *name);
|
||||||
static int do_a_set(sensors_chip_name name);
|
static int do_a_set(const sensors_chip_name *name);
|
||||||
static int do_the_real_work(int *error);
|
static int do_the_real_work(int *error);
|
||||||
static const char *sprintf_chip_name(sensors_chip_name name);
|
static const char *sprintf_chip_name(const sensors_chip_name *name);
|
||||||
|
|
||||||
#define CHIPS_MAX 20
|
#define CHIPS_MAX 20
|
||||||
sensors_chip_name chips[CHIPS_MAX];
|
sensors_chip_name chips[CHIPS_MAX];
|
||||||
@@ -261,10 +261,10 @@ int do_the_real_work(int *error)
|
|||||||
for(i = 0; i < chips_count; i++)
|
for(i = 0; i < chips_count; i++)
|
||||||
if (sensors_match_chip(chip, &chips[i])) {
|
if (sensors_match_chip(chip, &chips[i])) {
|
||||||
if(do_sets) {
|
if(do_sets) {
|
||||||
if (do_a_set(*chip))
|
if (do_a_set(chip))
|
||||||
*error = 1;
|
*error = 1;
|
||||||
} else
|
} else
|
||||||
do_a_print(*chip);
|
do_a_print(chip);
|
||||||
i = chips_count;
|
i = chips_count;
|
||||||
cnt++;
|
cnt++;
|
||||||
}
|
}
|
||||||
@@ -272,11 +272,11 @@ int do_the_real_work(int *error)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* returns 1 on error */
|
/* returns 1 on error */
|
||||||
int do_a_set(sensors_chip_name name)
|
int do_a_set(const sensors_chip_name *name)
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
|
|
||||||
if ((res = sensors_do_chip_sets(&name))) {
|
if ((res = sensors_do_chip_sets(name))) {
|
||||||
if (res == -SENSORS_ERR_PROC) {
|
if (res == -SENSORS_ERR_PROC) {
|
||||||
fprintf(stderr,"%s: %s for writing;\n",sprintf_chip_name(name),
|
fprintf(stderr,"%s: %s for writing;\n",sprintf_chip_name(name),
|
||||||
sensors_strerror(res));
|
sensors_strerror(res));
|
||||||
@@ -293,38 +293,40 @@ int do_a_set(sensors_chip_name name)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
const char *sprintf_chip_name(sensors_chip_name name)
|
const char *sprintf_chip_name(const sensors_chip_name *name)
|
||||||
{
|
{
|
||||||
#define BUF_SIZE 200
|
#define BUF_SIZE 200
|
||||||
static char buf[BUF_SIZE];
|
static char buf[BUF_SIZE];
|
||||||
|
|
||||||
if (name.bus == SENSORS_CHIP_NAME_BUS_ISA)
|
if (name->bus == SENSORS_CHIP_NAME_BUS_ISA)
|
||||||
snprintf(buf,BUF_SIZE,"%s-isa-%04x",name.prefix,name.addr);
|
snprintf(buf, BUF_SIZE, "%s-isa-%04x", name->prefix, name->addr);
|
||||||
else if (name.bus == SENSORS_CHIP_NAME_BUS_PCI)
|
else if (name->bus == SENSORS_CHIP_NAME_BUS_PCI)
|
||||||
snprintf(buf,BUF_SIZE,"%s-pci-%04x",name.prefix,name.addr);
|
snprintf(buf, BUF_SIZE, "%s-pci-%04x", name->prefix, name->addr);
|
||||||
else if (name.bus == SENSORS_CHIP_NAME_BUS_DUMMY)
|
else if (name->bus == SENSORS_CHIP_NAME_BUS_DUMMY)
|
||||||
snprintf(buf,BUF_SIZE,"%s-%s-%04x",name.prefix,name.busname,name.addr);
|
snprintf(buf, BUF_SIZE, "%s-%s-%04x", name->prefix, name->busname,
|
||||||
|
name->addr);
|
||||||
else
|
else
|
||||||
snprintf(buf,BUF_SIZE,"%s-i2c-%d-%02x",name.prefix,name.bus,name.addr);
|
snprintf(buf, BUF_SIZE, "%s-i2c-%d-%02x", name->prefix, name->bus,
|
||||||
|
name->addr);
|
||||||
return buf;
|
return buf;
|
||||||
}
|
}
|
||||||
|
|
||||||
void do_a_print(sensors_chip_name name)
|
void do_a_print(const sensors_chip_name *name)
|
||||||
{
|
{
|
||||||
if (hide_unknown)
|
if (hide_unknown)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
printf("%s\n",sprintf_chip_name(name));
|
printf("%s\n",sprintf_chip_name(name));
|
||||||
if (!hide_adapter) {
|
if (!hide_adapter) {
|
||||||
const char *adap = sensors_get_adapter_name(name.bus);
|
const char *adap = sensors_get_adapter_name(name->bus);
|
||||||
if (adap)
|
if (adap)
|
||||||
printf("Adapter: %s\n", adap);
|
printf("Adapter: %s\n", adap);
|
||||||
else
|
else
|
||||||
fprintf(stderr, "Can't get adapter name for bus %d\n", name.bus);
|
fprintf(stderr, "Can't get adapter name for bus %d\n", name->bus);
|
||||||
}
|
}
|
||||||
if (do_unknown)
|
if (do_unknown)
|
||||||
print_unknown_chip(&name);
|
print_unknown_chip(name);
|
||||||
else
|
else
|
||||||
print_generic_chip(&name);
|
print_generic_chip(name);
|
||||||
printf("\n");
|
printf("\n");
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user