static int read_file(FILE *file, char *buf, size_t size)
{
- int data, count = 0;
+ size_t count = 0;
+ int data;
while ((data = fgetc(file)) != EOF) {
if (count >= size)
return count;
}
-static int read_hex(int argc, char **argv, char *buf, size_t size)
+static int read_hex(unsigned int argc, char **argv, char *buf, size_t size)
{
- int i, res;
- unsigned int data;
+ unsigned int i, data;
+ int res;
if (argc > size)
return -EINVAL;
FILE *file = NULL;
if (argc < 3)
- return -EINVAL;
+ return 1;
res = sscanf(argv[0], "0x%x", &oui);
- if (res != 1)
- return -EINVAL;
+ if (res != 1) {
+ printf("Vendor command must start with 0x\n");
+ return 2;
+ }
res = sscanf(argv[1], "0x%x", &subcmd);
- if (res != 1)
- return -EINVAL;
+ if (res != 1) {
+ printf("Sub command must start with 0x\n");
+ return 2;
+ }
if (!strcmp(argv[2], "-"))
file = stdin;