i2cdump: don't use common_bufsiz1
authorBartosz Golaszewski <bartekgola@gmail.com>
Thu, 23 Jun 2016 15:19:50 +0000 (17:19 +0200)
committerDenys Vlasenko <vda.linux@googlemail.com>
Fri, 24 Jun 2016 01:58:43 +0000 (03:58 +0200)
Commit e6a2f4cc changed the way common_bufsiz1 works. Now it needs to
be initialized before using, but i2cdump wasn't updated by said patch.

Since the fact that we're using common_bufsiz1 here isn't obvious (no
G_INIT() macro, no other global variables), drop it and simply
allocate the integer array required for block reads on the stack.

Tested with i2c block read on a Lenovo Thinkpad laptop.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
miscutils/i2c_tools.c

index 57bb72ae7e99288734b13891d2ff2adbd0416126..7731466f7331aa8deacd3e8ac0bf73ec586c75e8 100644 (file)
@@ -908,7 +908,7 @@ int i2cdump_main(int argc UNUSED_PARAM, char **argv)
 
        int bus_num, bus_addr, mode = I2C_SMBUS_BYTE_DATA, even = 0, pec = 0;
        unsigned first = 0x00, last = 0xff, opts;
-       int *block = (int *)bb_common_bufsiz1;
+       int block[I2CDUMP_NUM_REGS];
        char *opt_r_str, *dash;
        int fd, res;