IBASE MRS-801-RE User Manual

Page 71

Advertising
background image

Copyright © 2013 IBASE Technology Inc. All Rights Reserved.

63

IBASE Technology Inc.

value = strtol(argv[flags+4], &end, 0);

if (*end || value < 0) {

fprintf(stderr, "Error: Data value invalid!\n");

help();

}

if ((size == I2C_SMBUS_BYTE_DATA && value > 0xff)

|| (size == I2C_SMBUS_WORD_DATA && value > 0xffff)) {

fprintf(stderr, "Error: Data value out of range!\n");

help();

}

break;

case I2C_SMBUS_BLOCK_DATA:

case I2C_SMBUS_I2C_BLOCK_DATA:

for (len = 0; len + flags + 5 < argc; len++) {

value = strtol(argv[flags + len + 4], &end, 0);

if (*end || value < 0) {

fprintf(stderr, "Error: Data value invalid!\n");

help();

}

if (value > 0xff) {

fprintf(stderr, "Error: Data value out of range!\n");

help();

}

block[len] = value;

}

value = -1;

break;

default:

value = -1;

break;

}

if (maskp) {

vmask = strtol(maskp, &end, 0);

if (*end || vmask == 0) {

fprintf(stderr, "Error: Data value mask invalid!\n");

help();

}

Advertising