This makes busybox i2cdump compatible with the upstream version, which
also displays the numeric error value in case of a block read failure.

Signed-off-by: Bartosz Golaszewski <bartekg...@gmail.com>
---
 miscutils/i2c_tools.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/miscutils/i2c_tools.c b/miscutils/i2c_tools.c
index c8125eb..7563593 100644
--- a/miscutils/i2c_tools.c
+++ b/miscutils/i2c_tools.c
@@ -732,8 +732,10 @@ static int read_block_data(int buf_fd, int mode, int 
*block)
                        tmp = i2c_smbus_read_i2c_block_data(
                                        buf_fd, res, I2C_SMBUS_BLOCK_MAX,
                                        cblock + res);
-                       if (tmp <= 0)
+                       if (tmp <= 0) {
+                               blen = tmp;
                                goto fail;
+                       }
                }
 
                if (res >= I2CDUMP_NUM_REGS)
@@ -750,7 +752,7 @@ static int read_block_data(int buf_fd, int mode, int *block)
        return blen;
 
 fail:
-       bb_error_msg_and_die("block read failed");
+       bb_error_msg_and_die("block read failed: %d", blen);
 }
 
 /* Dump all but word data. */
-- 
2.1.4

_______________________________________________
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox

Reply via email to