summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-09-06 08:37:12 -0600
committerKeith Packard <keithp@keithp.com>2017-09-12 13:31:38 -0700
commitf607a882a50aa6cd9e8e3e74cbaa5bcc1b5fa4a4 (patch)
tree408004c12d903d9768c9d8e8f32dc0c1d00e24fc
parent558a143315f0345b79cc4f22aa4b643fedcded9c (diff)
ao-tools/ao-chaosread: Add -Wall -Wextra, clean up results
-rw-r--r--ao-tools/ao-chaosread/Makefile.am2
-rw-r--r--ao-tools/ao-chaosread/ao-chaosread.c24
2 files changed, 15 insertions, 11 deletions
diff --git a/ao-tools/ao-chaosread/Makefile.am b/ao-tools/ao-chaosread/Makefile.am
index 581eb2d2..6ba8885c 100644
--- a/ao-tools/ao-chaosread/Makefile.am
+++ b/ao-tools/ao-chaosread/Makefile.am
@@ -1,6 +1,6 @@
bin_PROGRAMS=ao-chaosread
-AM_CFLAGS=-I$(top_srcdir)/ao-tools/lib $(LIBUSB_CFLAGS)
+AM_CFLAGS=$(LIBUSB_CFLAGS) -Wall -Wextra
ao_chaosread_LDADD=$(LIBUSB_LIBS)
diff --git a/ao-tools/ao-chaosread/ao-chaosread.c b/ao-tools/ao-chaosread/ao-chaosread.c
index 7808f6c9..6d860139 100644
--- a/ao-tools/ao-chaosread/ao-chaosread.c
+++ b/ao-tools/ao-chaosread/ao-chaosread.c
@@ -74,7 +74,7 @@ chaoskey_match(libusb_device *dev, char *match_serial)
goto out;
}
- ret = libusb_get_string_descriptor_ascii(handle, desc.iSerialNumber, device_serial, match_len + 1);
+ ret = libusb_get_string_descriptor_ascii(handle, desc.iSerialNumber, (unsigned char *) device_serial, match_len + 1);
if (ret < 0) {
fprintf(stderr, "failed to get serial number: %s\n", libusb_strerror(ret));
@@ -103,7 +103,6 @@ chaoskey_open(char *serial)
int ret;
ssize_t num;
libusb_device **list;
- libusb_device *device = NULL;
int d;
ck = calloc(sizeof (struct chaoskey), 1);
@@ -173,12 +172,6 @@ chaoskey_close(struct chaoskey *ck)
free(ck);
}
-void
-chaoskey_transfer_callback(struct libusb_transfer *transfer)
-{
- struct chaoskey *ck = transfer->user_data;
-}
-
#define ENDPOINT 0x86
int
@@ -202,7 +195,9 @@ chaoskey_read(struct chaoskey *ck, void *buffer, int len)
}
len -= transferred;
buf += transferred;
+ total += transferred;
}
+ return total;
}
static const struct option options[] = {
@@ -283,8 +278,17 @@ main (int argc, char **argv)
int i;
for (i = 0; i < got / 2; i++)
putchar((buf[i] >> 1 & 0xff));
- } else
- write(1, buf, got);
+ } else {
+ int i;
+ int ret;
+ for (i = 0; i < got; i += ret) {
+ ret = write(1, ((char *) buf) + i, got - i);
+ if (ret <= 0) {
+ perror("write");
+ exit(1);
+ }
+ }
+ }
length -= got;
}
exit(0);