Changeset 5193
- Timestamp:
- 04/20/08 19:27:34 (7 months ago)
- Files:
-
- i2c-tools/trunk/tools/i2cbusses.c (modified) (2 diffs)
- i2c-tools/trunk/tools/i2cbusses.h (modified) (1 diff)
- i2c-tools/trunk/tools/i2cdetect.c (modified) (1 diff)
- i2c-tools/trunk/tools/i2cdump.c (modified) (1 diff)
- i2c-tools/trunk/tools/i2cget.c (modified) (1 diff)
- i2c-tools/trunk/tools/i2cset.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
i2c-tools/trunk/tools/i2cbusses.c
r5164 r5193 26 26 #include <string.h> 27 27 #include <stdio.h> 28 #include <stdlib.h> 28 29 #include <unistd.h> 29 30 #include <limits.h> … … 218 219 } 219 220 221 /* 222 * Parse an I2CBUS command line argument and return the corresponding 223 * bus number, or a negative value if the bus is invalid. 224 */ 225 int lookup_i2c_bus(const char *i2cbus_arg) 226 { 227 long i2cbus; 228 char *end; 229 230 i2cbus = strtol(i2cbus_arg, &end, 0); 231 if (*end || !*i2cbus_arg) { 232 fprintf(stderr, "Error: I2CBUS argument not a number!\n"); 233 return -1; 234 } 235 if (i2cbus < 0 || i2cbus > 0xff) { 236 fprintf(stderr, "Error: I2CBUS argument out of range " 237 "(0-255)!\n"); 238 return -2; 239 } 240 241 return i2cbus; 242 } 243 220 244 int open_i2c_dev(const int i2cbus, char *filename, const int quiet) 221 245 { i2c-tools/trunk/tools/i2cbusses.h
r5164 r5193 25 25 void print_i2c_busses(int procfmt); 26 26 27 int lookup_i2c_bus(const char *i2cbus_arg); 27 28 int open_i2c_dev(const int i2cbus, char *filename, const int quiet); 28 29 int set_slave_addr(int file, int address, int force); i2c-tools/trunk/tools/i2cdetect.c
r5164 r5193 236 236 exit(1); 237 237 } 238 i2cbus = strtol(argv[flags+1], &end, 0); 239 if (*end) { 240 fprintf(stderr, "Error: I2CBUS argument not a number!\n"); 241 help(); 242 exit(1); 243 } 244 if ((i2cbus < 0) || (i2cbus > 0xff)) { 245 fprintf(stderr, "Error: I2CBUS argument out of range " 246 "(0-255)!\n"); 238 i2cbus = lookup_i2c_bus(argv[flags+1]); 239 if (i2cbus < 0) { 247 240 help(); 248 241 exit(1); i2c-tools/trunk/tools/i2cdump.c
r5164 r5193 92 92 exit(1); 93 93 } 94 i2cbus = strtol(argv[flags+1], &end, 0); 95 if (*end) { 96 fprintf(stderr, "Error: First argument not a number!\n"); 97 help(); 98 exit(1); 99 } 100 if (i2cbus < 0 || i2cbus > 0xff) { 101 fprintf(stderr, "Error: I2CBUS argument out of range!\n"); 94 i2cbus = lookup_i2c_bus(argv[flags+1]); 95 if (i2cbus < 0) { 102 96 help(); 103 97 exit(1); i2c-tools/trunk/tools/i2cget.c
r5164 r5193 188 188 help(); 189 189 190 i2cbus = strtol(argv[flags+1], &end, 0); 191 if (*end || i2cbus < 0 || i2cbus > 0x3f) { 192 fprintf(stderr, "Error: I2CBUS argument invalid!\n"); 190 i2cbus = lookup_i2c_bus(argv[flags+1]); 191 if (i2cbus < 0) 193 192 help(); 194 }195 193 196 194 address = strtol(argv[flags+2], &end, 0); i2c-tools/trunk/tools/i2cset.c
r5164 r5193 79 79 help(); 80 80 81 i2cbus = strtol(argv[flags+1], &end, 0); 82 if (*end || i2cbus < 0 || i2cbus > 0x3f) { 83 fprintf(stderr, "Error: I2CBUS argument invalid!\n"); 84 help(); 85 } 81 i2cbus = lookup_i2c_bus(argv[flags+1]); 82 if (i2cbus < 0) 83 help(); 86 84 87 85 address = strtol(argv[flags+2], &end, 0);
