X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=hardware%2Fcommon%2Fezusb.c;h=82174af4d665f1abcf455084a680f6b9e04bf25d;hb=8703f512a7c0e05f5fc3a5bc36f9e81afee71da3;hp=68692c3a29fbbabb6f1f87d3fca590d86b0079ba;hpb=edf60d0575d039229da3676867a5eb094d0c3c5e;p=libsigrok.git diff --git a/hardware/common/ezusb.c b/hardware/common/ezusb.c index 68692c3a..82174af4 100644 --- a/hardware/common/ezusb.c +++ b/hardware/common/ezusb.c @@ -23,6 +23,7 @@ #include #include +#include #include #include #include @@ -50,21 +51,20 @@ int ezusb_install_firmware(libusb_device_handle *hdl, const char *filename) 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;