diff mbox series

[v2] i2ctransfer: Drop redundant variable arg_idx

Message ID 20240912144504.278d302b@endymion.delvare
State Accepted
Headers show
Series [v2] i2ctransfer: Drop redundant variable arg_idx | expand

Commit Message

Jean Delvare Sept. 12, 2024, 12:45 p.m. UTC
arg_idx has the same meaning as getopt's optind global variable, so
drop the former and use the latter. Once getopt() is done parsing the
options, there should be no problem using it for ourselves.

Signed-off-by: Jean Delvare <jdelvare@suse.de>
---
Changes since v1:
 * Rebased to make it apply again.
 * Fixed typo in my SOB.

 tools/i2ctransfer.c |   15 +++++++--------
 1 file changed, 7 insertions(+), 8 deletions(-)

Comments

Wolfram Sang Sept. 12, 2024, 6:51 p.m. UTC | #1
On Thu, Sep 12, 2024 at 02:45:04PM +0200, Jean Delvare wrote:
> arg_idx has the same meaning as getopt's optind global variable, so
> drop the former and use the latter. Once getopt() is done parsing the
> options, there should be no problem using it for ourselves.
> 
> Signed-off-by: Jean Delvare <jdelvare@suse.de>

I tried a few patterns in the command line and they were all handled
correctly:

Reviewed-by: Wolfram Sang <wsa+renesas@sang-engineering.com>
Tested-by: Wolfram Sang <wsa+renesas@sang-engineering.com>

Thanks!
diff mbox series

Patch

--- i2c-tools.orig/tools/i2ctransfer.c
+++ i2c-tools/tools/i2ctransfer.c
@@ -143,7 +143,7 @@  static int confirm(const char *filename,
 int main(int argc, char *argv[])
 {
 	char filename[20];
-	int i2cbus, address = -1, file, opt, arg_idx, nmsgs = 0, nmsgs_sent, i;
+	int i2cbus, address = -1, file, opt, nmsgs = 0, nmsgs_sent, i;
 	int force = 0, yes = 0, version = 0, verbose = 0, all_addrs = 0, binary = 0;
 	struct i2c_msg msgs[I2C_RDRW_IOCTL_MAX_MSGS];
 	enum parse_state state = PARSE_GET_DESC;
@@ -173,13 +173,12 @@  int main(int argc, char *argv[])
 		exit(0);
 	}
 
-	arg_idx = optind;
-	if (arg_idx == argc) {
+	if (optind == argc) {
 		help();
 		exit(1);
 	}
 
-	i2cbus = lookup_i2c_bus(argv[arg_idx++]);
+	i2cbus = lookup_i2c_bus(argv[optind++]);
 	if (i2cbus < 0)
 		exit(1);
 
@@ -187,8 +186,8 @@  int main(int argc, char *argv[])
 	if (file < 0 || check_funcs(file))
 		exit(1);
 
-	while (arg_idx < argc) {
-		char *arg_ptr = argv[arg_idx];
+	while (optind < argc) {
+		char *arg_ptr = argv[optind];
 		unsigned long len, raw_data;
 		__u16 flags;
 		__u8 data, *buf;
@@ -323,7 +322,7 @@  int main(int argc, char *argv[])
 			goto err_out;
 		}
 
-		arg_idx++;
+		optind++;
 	}
 
 	if (state != PARSE_GET_DESC || nmsgs == 0) {
@@ -361,7 +360,7 @@  int main(int argc, char *argv[])
 	exit(0);
 
  err_out_with_arg:
-	fprintf(stderr, "Error: faulty argument is '%s'\n", argv[arg_idx]);
+	fprintf(stderr, "Error: faulty argument is '%s'\n", argv[optind]);
  err_out:
 	close(file);