Changed HIDParser to only zero out important values in the Parsed HID Report Item...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Host / HIDParser.c
index 3fbad65..241e17a 100644 (file)
@@ -46,8 +46,13 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, uint16_t ReportSize, HID
 #endif\r
        HID_CollectionPath_t* CurrCollectionPath  = NULL;\r
 \r
-       memset(ParserData, 0x00, sizeof(HID_ReportInfo_t));\r
-       memset(StateTable, 0x00, sizeof(StateTable));\r
+       ParserData->TotalReportItems     = 0;\r
+       ParserData->UsingMultipleReports = false;\r
+       \r
+       for (uint8_t CurrCollection = 0; CurrCollection < HID_MAX_COLLECTIONS; CurrCollection++)\r
+         ParserData->CollectionPaths[CurrCollection].Parent = NULL;\r
+\r
+       memset(&StateTable[0], 0x00, sizeof(HID_StateTable_t));\r
 \r
        while (ReportSize)\r
        {\r