summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2008-04-24 12:38:54 +0000
committerkhali <khali@7894878c-1315-0410-8ee3-d5d059ff63e0>2008-04-24 12:38:54 +0000
commit448dade70999fdb9fb645e993a0493f070523cd7 (patch)
tree61a47991c239d0d5820f8928ab511f6e0063829b /tools
parent126d713f2016b6c1982ecee0217ee449740521fa (diff)
downloadi2c-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.c14
-rw-r--r--tools/i2cset.c21
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");