i2c-tools: fix 'i2cdetect -l'

Calling 'i2cdetect -l' only displays usage and exits. Fix it by
correctly parsing command-line arguments.

Signed-off-by: Bartosz Golaszewski <bartekgola@gmail.com>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
Bartosz Golaszewski 2015-05-11 17:22:10 +02:00 committed by Denys Vlasenko
parent 17b16223f3
commit b2cca32a37

View File

@ -1284,13 +1284,16 @@ int i2cdetect_main(int argc UNUSED_PARAM, char **argv)
unsigned opts; unsigned opts;
opt_complementary = "q--r:r--q:" /* mutually exclusive */ opt_complementary = "q--r:r--q:" /* mutually exclusive */
"-1:?3"; /* from 1 to 3 args */ "?3"; /* up to 3 args */
opts = getopt32(argv, optstr); opts = getopt32(argv, optstr);
argv += optind; argv += optind;
if (opts & opt_l) if (opts & opt_l)
list_i2c_busses_and_exit(); list_i2c_busses_and_exit();
if (!argv[0])
bb_show_usage();
bus_num = i2c_bus_lookup(argv[0]); bus_num = i2c_bus_lookup(argv[0]);
fd = i2c_dev_open(bus_num); fd = i2c_dev_open(bus_num);
get_funcs_matrix(fd, &funcs); get_funcs_matrix(fd, &funcs);