Use "%zu" when printing the result of a sizeof(), this way the integer
conversion is done correctly taking into account the particular
architecture.
On a PPC64 (PlayStation 3) we were getting:
kinect_upload_fw.c: In function ‘get_reply’:
kinect_upload_fw.c:99:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Wformat]
kinect_upload_fw.c: In function ‘main’:
kinect_upload_fw.c:169:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Wformat]
kinect_upload_fw.c:194:4: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Wformat]
kinect_upload_fw.c:220:3: warning: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘unsigned int’ [-Wformat]
res = libusb_bulk_transfer(dev, 0x81, reply.dump, 512, &transferred, 0);
if (res != 0 || transferred != sizeof(status_code)) {
res = libusb_bulk_transfer(dev, 0x81, reply.dump, 512, &transferred, 0);
if (res != 0 || transferred != sizeof(status_code)) {
- LOG("Error reading reply: %d\ttransferred: %d (expected %lu)\n", res, transferred, sizeof(status_code));
+ LOG("Error reading reply: %d\ttransferred: %d (expected %zu)\n", res, transferred, sizeof(status_code));
return res;
}
if (fn_le32(reply.buffer.magic) != 0x0a6fe000) {
return res;
}
if (fn_le32(reply.buffer.magic) != 0x0a6fe000) {
res = libusb_bulk_transfer(dev, 1, (unsigned char*)&cmd, sizeof(cmd), &transferred, 0);
if (res != 0 || transferred != sizeof(cmd)) {
res = libusb_bulk_transfer(dev, 1, (unsigned char*)&cmd, sizeof(cmd), &transferred, 0);
if (res != 0 || transferred != sizeof(cmd)) {
- LOG("Error: res: %d\ttransferred: %d (expected %lu)\n", res, transferred, sizeof(cmd));
+ LOG("Error: res: %d\ttransferred: %d (expected %zu)\n", res, transferred, sizeof(cmd));
goto cleanup;
}
res = get_first_reply(); // This first one doesn't have the usual magic bytes at the beginning, and is 96 bytes long - much longer than the usual 12-byte replies.
goto cleanup;
}
res = get_first_reply(); // This first one doesn't have the usual magic bytes at the beginning, and is 96 bytes long - much longer than the usual 12-byte replies.
// Send it off!
res = libusb_bulk_transfer(dev, 1, (unsigned char*)&cmd, sizeof(cmd), &transferred, 0);
if (res != 0 || transferred != sizeof(cmd)) {
// Send it off!
res = libusb_bulk_transfer(dev, 1, (unsigned char*)&cmd, sizeof(cmd), &transferred, 0);
if (res != 0 || transferred != sizeof(cmd)) {
- LOG("Error: res: %d\ttransferred: %d (expected %lu)\n", res, transferred, sizeof(cmd));
+ LOG("Error: res: %d\ttransferred: %d (expected %zu)\n", res, transferred, sizeof(cmd));
goto cleanup;
}
int bytes_sent = 0;
goto cleanup;
}
int bytes_sent = 0;
dump_bl_cmd(cmd);
res = libusb_bulk_transfer(dev, 1, (unsigned char*)&cmd, sizeof(cmd), &transferred, 0);
if (res != 0 || transferred != sizeof(cmd)) {
dump_bl_cmd(cmd);
res = libusb_bulk_transfer(dev, 1, (unsigned char*)&cmd, sizeof(cmd), &transferred, 0);
if (res != 0 || transferred != sizeof(cmd)) {
- LOG("Error: res: %d\ttransferred: %d (expected %lu)\n", res, transferred, sizeof(cmd));
+ LOG("Error: res: %d\ttransferred: %d (expected %zu)\n", res, transferred, sizeof(cmd));
goto cleanup;
}
res = get_reply();
goto cleanup;
}
res = get_reply();