#include <libusb.h>
#include <glib.h>
+#include <glib/gstdio.h>
#include <stdio.h>
#include <errno.h>
#include <string.h>
unsigned char buf[4096];
g_message("Uploading firmware at %s", filename);
- if ((fw = fopen(filename, "r")) == NULL) {
+ if ((fw = g_fopen(filename, "rb")) == NULL) {
g_warning("Unable to open firmware file %s for reading: %s",
filename, strerror(errno));
return 1;
}
- result = 0;
- offset = 0;
+ result = offset = 0;
while (1) {
chunksize = fread(buf, 1, 4096, fw);
if (chunksize == 0)
break;
err = libusb_control_transfer(hdl, LIBUSB_REQUEST_TYPE_VENDOR |
- LIBUSB_ENDPOINT_OUT, 0xa0, offset, 0x0000,
- buf, chunksize, 100);
+ LIBUSB_ENDPOINT_OUT, 0xa0, offset,
+ 0x0000, buf, chunksize, 100);
if (err < 0) {
g_warning("Unable to send firmware to device: %d", err);
result = 1;