/*
              LUFA Library
-     Copyright (C) Dean Camera, 2015.
+     Copyright (C) Dean Camera, 2018.
 
   dean [at] fourwalledcubicle [dot] com
            www.lufa-lib.org
 */
 
 /*
-  Copyright 2015  Dean Camera (dean [at] fourwalledcubicle [dot] com)
+  Copyright 2018  Dean Camera (dean [at] fourwalledcubicle [dot] com)
 
   Permission to use, copy, modify, distribute, and sell this
   software and its documentation for any purpose is hereby granted
 
                                memcpy((CurrStateTable + 1),
                                       CurrStateTable,
-                                      sizeof(HID_ReportItem_t));
+                                      sizeof(HID_StateTable_t));
 
                                CurrStateTable++;
                                break;
 
        while (DataBitsRem--)
        {
-               if (ReportItem->Value & (1 << (CurrentBit % 8)))
-                 ReportData[CurrentBit / 8] |= BitMask;
+               if (ReportItem->Value & BitMask)
+                 ReportData[CurrentBit / 8] |= (1 << (CurrentBit % 8));
 
                CurrentBit++;
                BitMask <<= 1;