Ensure that the CDC class drivers return 0 if the number of unread bytes is queried...
[pub/USBasp.git] / LUFA / Drivers / USB / Class / Device / CDC.c
index 4cdea94..ade2a1b 100644 (file)
@@ -195,9 +195,14 @@ uint16_t CDC_Device_BytesReceived(USB_ClassInfo_CDC_Device_t* const CDCInterface
        if (Endpoint_IsOUTReceived())\r
        {\r
                if (!(Endpoint_BytesInEndpoint()))\r
-                 Endpoint_ClearOUT();\r
-\r
-               return Endpoint_BytesInEndpoint();\r
+               {\r
+                       Endpoint_ClearOUT();\r
+                       return 0;\r
+               }\r
+               else\r
+               {\r
+                       return Endpoint_BytesInEndpoint();\r
+               }\r
        }\r
        else\r
        {\r