diff options
author | khali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0> | 2008-04-24 12:38:54 +0000 |
---|---|---|
committer | khali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0> | 2008-04-24 12:38:54 +0000 |
commit | 448dade70999fdb9fb645e993a0493f070523cd7 (patch) | |
tree | 61a47991c239d0d5820f8928ab511f6e0063829b /tools | |
parent | 126d713f2016b6c1982ecee0217ee449740521fa (diff) | |
download | i2c-tools-448dade70999fdb9fb645e993a0493f070523cd7.tar.gz |
Minor optimizations and cleanups.
git-svn-id: http://lm-sensors.org/svn/i2c-tools/trunk@5207 7894878c-1315-0410-8ee3-d5d059ff63e0
Diffstat (limited to 'tools')
-rw-r--r-- | tools/i2cget.c | 14 | ||||
-rw-r--r-- | 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"); |