Use the MIN() macro where possible instead of manual "(x < y) ? x : y" constructs.
[pub/USBasp.git] / LUFA / Drivers / USB / Core / HostStandardReq.c
index f74490f..5b443e7 100644 (file)
@@ -38,7 +38,6 @@
 
 uint8_t USB_Host_SendControlRequest(void* const BufferPtr)
 {
 
 uint8_t USB_Host_SendControlRequest(void* const BufferPtr)
 {
-       uint8_t* HeaderStream = (uint8_t*)&USB_ControlRequest;
        uint8_t* DataStream   = (uint8_t*)BufferPtr;
        bool     BusSuspended = USB_Host_IsBusSuspended();
        uint8_t  ReturnStatus = HOST_SENDCONTROL_Successful;
        uint8_t* DataStream   = (uint8_t*)BufferPtr;
        bool     BusSuspended = USB_Host_IsBusSuspended();
        uint8_t  ReturnStatus = HOST_SENDCONTROL_Successful;
@@ -54,8 +53,11 @@ uint8_t USB_Host_SendControlRequest(void* const BufferPtr)
 
        Pipe_Unfreeze();
 
 
        Pipe_Unfreeze();
 
-       for (uint8_t HeaderByte = 0; HeaderByte < sizeof(USB_Request_Header_t); HeaderByte++)
-         Pipe_Write_Byte(*(HeaderStream++));
+       Pipe_Write_Byte(USB_ControlRequest.bmRequestType);
+       Pipe_Write_Byte(USB_ControlRequest.bRequest);
+       Pipe_Write_Word_LE(USB_ControlRequest.wValue);
+       Pipe_Write_Word_LE(USB_ControlRequest.wIndex);
+       Pipe_Write_Word_LE(USB_ControlRequest.wLength);
 
        Pipe_ClearSETUP();
 
 
        Pipe_ClearSETUP();