Changeset 4335
- Timestamp:
- 03/03/07 15:57:56 (6 years ago)
- Location:
- lm-sensors/trunk
- Files:
-
- 2 modified
-
CHANGES (modified) (1 diff)
-
prog/dump/i2cdump.c (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
lm-sensors/trunk/CHANGES
r4334 r4335 19 19 Get rid of a useless semaphore (2.6 backport) 20 20 Programs i2cdetect, i2cdump, isadump: Flush output in real time 21 Program i2cdump: Cleaner output in SMBus block read mode 21 22 Program sensors: Add smsc47m2 support (fans) 22 23 Fix -A option (hide adapter name) on error -
lm-sensors/trunk/prog/dump/i2cdump.c
r4316 r4335 58 58 char filename[20]; 59 59 unsigned long funcs; 60 int block[256] ;60 int block[256], s_length = 0; 61 61 int pec = 0, even = 0; 62 62 int flags = 0; … … 311 311 res = i2c_smbus_read_block_data(file, bank, 312 312 cblock); 313 /* Remember returned block length for a nicer 314 display later */ 315 s_length = res; 313 316 } else { 314 317 for (res = 0; res < 256; res += i) { … … 328 331 for (i = 0; i < res; i++) 329 332 block[i] = cblock[i]; 330 for (i = res; i < 256; i++) 331 block[i] = -1; 333 if (size != I2C_SMBUS_BLOCK_DATA) 334 for (i = res; i < 256; i++) 335 block[i] = -1; 332 336 } 333 337 … … 344 348 " 0123456789abcdef\n"); 345 349 for (i = 0; i < 256; i+=16) { 350 if (size == I2C_SMBUS_BLOCK_DATA && i >= s_length) 351 break; 346 352 printf("%02x: ", i); 347 353 for (j = 0; j < 16; j++) { … … 366 372 res = block[i+j]; 367 373 368 if (res < 0) { 374 if (size == I2C_SMBUS_BLOCK_DATA 375 && i+j >= s_length) { 376 printf(" "); 377 } else if (res < 0) { 369 378 printf("XX "); 370 379 if (size == I2C_SMBUS_WORD_DATA) … … 379 388 } 380 389 printf(" "); 390 381 391 for (j = 0; j < 16; j++) { 392 if (size == I2C_SMBUS_BLOCK_DATA 393 && i+j >= s_length) 394 break; 395 382 396 res = block[i+j]; 383 397 if (res < 0) … … 395 409 } 396 410 printf("\n"); 397 if (size == I2C_SMBUS_BLOCK_DATA && i == 16)398 break;399 411 } 400 412 } else {
