From 96045bea380c9614ac382a19e0e88b9dc94f52dc Mon Sep 17 00:00:00 2001 From: "Mark D. Studebaker" Date: Mon, 25 Aug 2003 00:28:26 +0000 Subject: [PATCH] Add separate error returns and messages for read and write errors. Add missing message for "general parse error" - a nasty bug. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@1979 7894878c-1315-0410-8ee3-d5d059ff63e0 --- lib/access.c | 4 ++-- lib/error.c | 5 ++++- lib/error.h | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/access.c b/lib/access.c index 0de4ac2f..34043482 100644 --- a/lib/access.c +++ b/lib/access.c @@ -224,7 +224,7 @@ int sensors_get_feature(sensors_chip_name name, int feature, double *result) main_feature->compute_mapping))) return -SENSORS_ERR_NO_ENTRY; if (! (main_feature->mode & SENSORS_MODE_R)) - return -SENSORS_ERR_ACCESS; + return -SENSORS_ERR_ACCESS_R; for (chip = NULL; !expr && (chip = sensors_for_all_config_chips(name,chip));) for (i = 0; !final_expr && (i < chip->computes_count); i++) { if (!strcmp(main_feature->name,chip->computes[i].name)) { @@ -267,7 +267,7 @@ int sensors_set_feature(sensors_chip_name name, int feature, double value) main_feature->compute_mapping))) return -SENSORS_ERR_NO_ENTRY; if (! (main_feature->mode & SENSORS_MODE_W)) - return -SENSORS_ERR_ACCESS; + return -SENSORS_ERR_ACCESS_W; for (chip = NULL; !expr && (chip = sensors_for_all_config_chips(name,chip));) for (i = 0; !final_expr && (i < chip->computes_count); i++) if (!strcmp(main_feature->name,chip->computes[i].name)) { diff --git a/lib/error.c b/lib/error.c index b399aaca..24f8d922 100644 --- a/lib/error.c +++ b/lib/error.c @@ -37,7 +37,10 @@ static const char *errorlist[] = /* SENSORS_ERR_PROC */ "Can't access /proc file", /* SENSORS_ERR_DIV_ZERO */ "Divide by zero", /* SENSORS_ERR_CHIP_NAME */ "Can't parse chip name", - /* SENSORS_ERR_BUS_NAME */ "Can't parse bus name" + /* SENSORS_ERR_BUS_NAME */ "Can't parse bus name", + /* SENSORS_ERR_PARSE */ "General parse error", + /* SENSORS_ERR_ACCESS_W */ "Can't write", + /* SENSORS_ERR_ACCESS_R */ "Can't read" }; #define ERROR_LIST_LEN (sizeof(errorlist) / sizeof(char *)) diff --git a/lib/error.h b/lib/error.h index afe77059..9ff72ffb 100644 --- a/lib/error.h +++ b/lib/error.h @@ -28,6 +28,8 @@ #define SENSORS_ERR_CHIP_NAME 6 /* Can't parse chip name */ #define SENSORS_ERR_BUS_NAME 7 /* Can't parse bus name */ #define SENSORS_ERR_PARSE 8 /* General parse error */ +#define SENSORS_ERR_ACCESS_W 9 /* Can't write */ +#define SENSORS_ERR_ACCESS_R 10 /* Can't read */ #ifdef __cplusplus extern "C" {