Changeset 4694

Show
Ignore:
Timestamp:
08/22/07 19:05:01 (6 years ago)
Author:
khali
Message:

Change the prototype of sensors_get_label(). Errors can be reported
with a NULL pointer.

Location:
lm-sensors/branches/lm-sensors-3.0.0
Files:
8 modified

Legend:

Unmodified
Added
Removed
  • lm-sensors/branches/lm-sensors-3.0.0/lib/access.c

    r4689 r4694  
    140140 
    141141/* Look up the label which belongs to this chip. Note that chip should not 
    142    contain wildcard values! *result is newly allocated (free it yourself). 
    143    This function will return 0 on success, and <0 on failure. 
     142   contain wildcard values! The returned string is newly allocated (free it 
     143   yourself). On failure, NULL is returned. 
    144144   If no label exists for this feature, its name is returned itself. */ 
    145 int sensors_get_label(const sensors_chip_name *name, int feature, char **result) 
    146 { 
     145char *sensors_get_label(const sensors_chip_name *name, int feature) 
     146{ 
     147        char *label; 
    147148        const sensors_chip *chip; 
    148149        const sensors_chip_feature *featureptr; 
     
    151152        int i; 
    152153 
    153         *result = NULL; 
    154154        if (sensors_chip_name_has_wildcards(name)) 
    155                 return -SENSORS_ERR_WILDCARDS; 
     155                return NULL; 
    156156        if (!(featureptr = sensors_lookup_feature_nr(name, feature))) 
    157                 return -SENSORS_ERR_NO_ENTRY; 
     157                return NULL; 
    158158 
    159159        for (chip = NULL; (chip = sensors_for_all_config_chips(name, chip));) 
    160160                for (i = 0; i < chip->labels_count; i++) 
    161161                        if (!strcasecmp(featureptr->data.name,chip->labels[i].name)){ 
    162                                 *result = strdup(chip->labels[i].value); 
     162                                label = strdup(chip->labels[i].value); 
    163163                                goto sensors_get_label_exit; 
    164164                        } 
     
    174174                        /* i - 1 to strip the '\n' at the end */ 
    175175                        buf[i - 1] = 0; 
    176                         *result = strdup(buf); 
     176                        label = strdup(buf); 
    177177                        goto sensors_get_label_exit; 
    178178                } 
     
    180180 
    181181        /* No label, return the feature name instead */ 
    182         *result = strdup(featureptr->data.name); 
     182        label = strdup(featureptr->data.name); 
    183183         
    184184sensors_get_label_exit: 
    185         if (*result == NULL) 
     185        if (!label) 
    186186                sensors_fatal_error("sensors_get_label", 
    187187                                    "Allocating label text"); 
    188         return 0; 
     188        return label; 
    189189} 
    190190 
  • lm-sensors/branches/lm-sensors-3.0.0/lib/libsensors.3

    r4693 r4694  
    3939                       \fBconst sensors_chip_name *chip2);\fP 
    4040.B const char *sensors_get_adapter_name(int bus_nr); 
    41 .B int sensors_get_label(const sensors_chip_name *name, int feature, 
    42                       \fBchar **result);\fP 
     41.B char *sensors_get_label(const sensors_chip_name *name, int feature);\fP 
    4342.B int sensors_get_feature(const sensors_chip_name *name, int feature, 
    4443                        \fBdouble *result);\fP 
     
    7978sensors_chip_name structure. If it could not be found, it returns NULL. 
    8079 
    81 \fBint sensors_get_label(const sensors_chip_name *name, int feature, 
    82                       char **result);\fP 
     80\fBchar *sensors_get_label(const sensors_chip_name *name, int feature);\fP 
    8381.br 
    84 Look up the label which belongs to this chip. Note that chip should not contain wildcard values! *result is newly allocated (free it yourself). This function will return 0 on success, and <0 on failure. 
     82Look up the label which belongs to this chip. Note that chip should not 
     83contain wildcard values! The returned string is newly allocated (free it 
     84yourself). On failure, NULL is returned. 
     85If no label exists for this feature, its name is returned itself. 
    8586 
    8687\fBint sensors_get_feature(const sensors_chip_name *name, 
  • lm-sensors/branches/lm-sensors-3.0.0/lib/sensors.h

    r4693 r4694  
    8989 
    9090/* Look up the label which belongs to this chip. Note that chip should not 
    91    contain wildcard values! *result is newly allocated (free it yourself). 
    92    This function will return 0 on success, and <0 on failure. 
     91   contain wildcard values! The returned string is newly allocated (free it 
     92   yourself). On failure, NULL is returned. 
    9393   If no label exists for this feature, its name is returned itself. */ 
    94 int sensors_get_label(const sensors_chip_name *name, int feature, 
    95                       char **result); 
     94char *sensors_get_label(const sensors_chip_name *name, int feature); 
    9695 
    9796/* Read the value of a feature of a certain chip. Note that chip should not 
  • lm-sensors/branches/lm-sensors-3.0.0/prog/sensord/rrd.c

    r4668 r4694  
    164164              sensorLog (LOG_ERR, "Error getting raw sensor label: %s/#%d", chip->prefix, labelNumber); 
    165165              ret = -1; 
    166             } else if (getLabel (chip, labelNumber, &label)) { 
     166            } else if (!(label = sensors_get_label (chip, labelNumber))) { 
    167167              sensorLog (LOG_ERR, "Error getting sensor label: %s/#%d", chip->prefix, labelNumber); 
    168168              ret = -1; 
  • lm-sensors/branches/lm-sensors-3.0.0/prog/sensord/sense.c

    r4676 r4694  
    4343    err = 0; 
    4444  } 
    45   return err; 
    46 } 
    47  
    48 int 
    49 getLabel 
    50 (const sensors_chip_name *name, int feature, char **label) { 
    51   int err; 
    52   err = sensors_get_label (name, feature, label); 
    5345  return err; 
    5446} 
     
    110102      sensorLog (LOG_ERR, "Error getting sensor validity: %s/%s", chip->prefix, sensor->name); 
    111103      ret = 20; 
    112     } else if (getLabel (chip, sensor->number, &label)) { 
     104    } else if (!(label = sensors_get_label (chip, sensor->number))) { 
    113105      sensorLog (LOG_ERR, "Error getting sensor label: %s/%s", chip->prefix, sensor->name); 
    114106      ret = 21; 
     
    170162      sensorLog (LOG_ERR, "Error getting sensor validity: %s/#%d", chip->prefix, labelNumber); 
    171163      ret = 22; 
    172     } else if (getLabel (chip, labelNumber, &label)) { 
     164    } else if (!(label = sensors_get_label (chip, labelNumber))) { 
    173165      sensorLog (LOG_ERR, "Error getting sensor label: %s/#%d", chip->prefix, labelNumber); 
    174166      ret = 22; 
  • lm-sensors/branches/lm-sensors-3.0.0/prog/sensord/sensord.h

    r4668 r4694  
    6060 
    6161extern int getValid (const sensors_chip_name *name, int feature, int *valid); 
    62 extern int getLabel (const sensors_chip_name *name, int feature, char **label); 
    6362extern int getRawLabel (const sensors_chip_name *name, int feature, const char **label); 
    6463 
  • lm-sensors/branches/lm-sensors-3.0.0/prog/sensors/chips.c

    r4666 r4694  
    9292  double vid; 
    9393 
    94   if (!sensors_get_label(name, f_vid, &label) 
     94  if ((label = sensors_get_label(name, f_vid)) 
    9595      && !sensors_get_feature(name, f_vid, &vid)) { 
    9696    print_label(label, label_size); 
     
    109109  a = 0; 
    110110  while((data=sensors_get_all_features(name, &a))) { 
    111     if (sensors_get_label(name, data->number, &label)) { 
     111    if (!(label = sensors_get_label(name, data->number))) { 
    112112      printf("ERROR: Can't get feature `%s' data!\n",data->name); 
    113113      continue; 
  • lm-sensors/branches/lm-sensors-3.0.0/prog/sensors/chips_generic.c

    r4682 r4694  
    7070  i = 0; 
    7171  while((iter = sensors_get_all_features(name, &i))) { 
    72     if (!sensors_get_label(name, iter->number, &label) && 
     72    if ((label = sensors_get_label(name, iter->number)) && 
    7373        strlen(label) > max_size) 
    7474      max_size = strlen(label); 
     
    9999  double feature_vals[SENSORS_FEATURE_TEMP_SENS - SENSORS_FEATURE_TEMP] = {0.0, }; 
    100100   
    101   if (sensors_get_label(name, feature->number, &label)) { 
     101  if (!(label = sensors_get_label(name, feature->number))) { 
    102102    printf("ERROR: Can't get temperature label!\n"); 
    103103    return; 
     
    212212  char *label; 
    213213   
    214   if (sensors_get_label(name, feature->number, &label)) { 
     214  if (!(label = sensors_get_label(name, feature->number))) { 
    215215    printf("ERROR: Can't get in label!\n"); 
    216216    return; 
     
    274274  double val; 
    275275   
    276   if (sensors_get_label(name, feature->number, &label)) { 
     276  if (!(label = sensors_get_label(name, feature->number))) { 
    277277    printf("ERROR: Can't get fan label!\n"); 
    278278    return;