{\r
                if (InstalledApplications[App].InUse)\r
                {\r
-                       if (memcmp(&InstalledApplications[App].ApplicationID, GUID, sizeof(GUID_t)) == 0)\r
+                       if (GUID_COMPARE(&InstalledApplications[App].ApplicationID, GUID))\r
                          return &InstalledApplications[App];\r
                }\r
        }\r
 
        Endpoint_Read_Stream_LE(&ProtocolGUID, sizeof(GUID_t));\r
        Endpoint_ClearOUT();\r
        \r
-       if (memcmp(&ProtocolGUID, (uint32_t[])STANDARD_PROTOCOL_GUID, sizeof(GUID_t)) != 0)\r
+       if (!(GUID_COMPARE(&ProtocolGUID, (uint32_t[])STANDARD_PROTOCOL_GUID)))\r
          PacketHeader->Type.NAK = true;\r
-\r
+       \r
        Endpoint_SelectEndpoint(SIDESHOW_IN_EPNUM);\r
        Endpoint_Write_Stream_LE(PacketHeader, sizeof(SideShow_PacketHeader_t));                \r
        Endpoint_Write_Stream_LE(&ProtocolGUID, sizeof(GUID_t));\r
 \r
        PacketHeader->Length = sizeof(SideShow_PacketHeader_t);\r
 \r
-       if (memcmp(&Property.PropertyGUID, (uint32_t[])SIDESHOW_PROPERTY_GUID, sizeof(GUID_t)) == 0)\r
+       if (GUID_COMPARE(&Property.PropertyGUID, (uint32_t[])SIDESHOW_PROPERTY_GUID))\r
        {\r
                switch (Property.PropertyID)\r
                {\r
                                break;\r
                }\r
        }\r
-       else if (memcmp(&Property.PropertyGUID, (uint32_t[])DEVICE_PROPERTY_GUID, sizeof(GUID_t)) == 0)\r
+       else if (GUID_COMPARE(&Property.PropertyGUID, (uint32_t[])DEVICE_PROPERTY_GUID))\r
        {\r
                switch (Property.PropertyID)\r
                {\r
 
                #include <LUFA/Drivers/USB/USB.h>\r
 \r
        /* Macros: */\r
+               #define GUID_COMPARE(a, b)                (memcmp(a, b, sizeof(GUID_t)) == 0)\r
+       \r
                #define ARRAY_ELEMENTS(x)                 (sizeof(x) / sizeof(x[0]))\r
                \r
                #define UNICODE_STRING_t(x)               struct                          \\r