The report_id variable doesn't do anything anymore, so one might as well eliminate it entirely, no?
Index: lib/libusbhid/parse.c =================================================================== RCS file: /cvs/src/lib/libusbhid/parse.c,v retrieving revision 1.10 diff -u -p -r1.10 parse.c --- parse.c 18 Jan 2015 17:16:06 -0000 1.10 +++ parse.c 19 Jan 2015 06:32:45 -0000 @@ -513,7 +513,6 @@ hid_report_size(report_desc_t r, enum hi uint32_t temp; uint32_t hpos; uint32_t lpos; - int report_id = 0; hpos = 0; lpos = 0xFFFFFFFF; @@ -529,8 +528,6 @@ hid_report_size(report_desc_t r, enum hi /* compute maximum */ if (hpos < temp) hpos = temp; - if (h.report_ID != 0) - report_id = 1; } } hid_end_parse(d);