From 68fb2e62299e347cbfd7e1963c66098b7b38d50f Mon Sep 17 00:00:00 2001 From: Jean Delvare Date: Thu, 24 Apr 2008 12:38:54 +0000 Subject: [PATCH] Minor optimizations and cleanups. git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@5207 7894878c-1315-0410-8ee3-d5d059ff63e0 --- tools/i2cget.c | 14 +++++++------- tools/i2cset.c | 21 ++++++++++----------- 2 files changed, 17 insertions(+), 18 deletions(-) diff --git a/tools/i2cget.c b/tools/i2cget.c index ae7a8f5..70d7dc3 100644 --- a/tools/i2cget.c +++ b/tools/i2cget.c @@ -154,8 +154,7 @@ static int confirm(const char *filename, int address, int size, int daddress, int main(int argc, char *argv[]) { char *end; - int res, i2cbus, address, file; - int size = I2C_SMBUS_BYTE_DATA; + int res, i2cbus, address, size, file; int daddress; char filename[20]; int pec = 0; @@ -193,18 +192,19 @@ int main(int argc, char *argv[]) if (address < 0) help(); - if (!(flags+3 < argc)) { - size = I2C_SMBUS_BYTE; - daddress = -1; - } else { + if (argc > flags + 3) { + size = I2C_SMBUS_BYTE_DATA; daddress = strtol(argv[flags+3], &end, 0); if (*end || daddress < 0 || daddress > 0xff) { fprintf(stderr, "Error: Data address invalid!\n"); help(); } + } else { + size = I2C_SMBUS_BYTE; + daddress = -1; } - if (flags+4 < argc) { + if (argc > flags + 4) { switch (argv[flags+4][0]) { case 'b': size = I2C_SMBUS_BYTE_DATA; break; case 'w': size = I2C_SMBUS_WORD_DATA; break; diff --git a/tools/i2cset.c b/tools/i2cset.c index 5e14bcd..e705ed8 100644 --- a/tools/i2cset.c +++ b/tools/i2cset.c @@ -99,21 +99,20 @@ int main(int argc, char *argv[]) help(); } - if (argc < flags + 6) { - fprintf(stderr, "No size specified (using byte-data access)\n"); - size = I2C_SMBUS_BYTE_DATA; - } else if (argv[flags+5][0] == 'b') { - size = I2C_SMBUS_BYTE_DATA; - pec = argv[flags+5][1] == 'p'; - } else if (argv[flags+5][0] == 'w') { - size = I2C_SMBUS_WORD_DATA; + if (argc > flags + 5) { + switch (argv[flags+5][0]) { + case 'b': size = I2C_SMBUS_BYTE_DATA; break; + case 'w': size = I2C_SMBUS_WORD_DATA; break; + default: + fprintf(stderr, "Error: Invalid mode!\n"); + help(); + } pec = argv[flags+5][1] == 'p'; } else { - fprintf(stderr, "Error: Invalid mode!\n"); - help(); + size = I2C_SMBUS_BYTE_DATA; } - if (argc >= flags + 7) { + if (argc > flags + 6) { vmask = strtol(argv[flags+6], &end, 0); if (*end || vmask == 0) { fprintf(stderr, "Error: Data value mask invalid!\n");