uint16_t* const BytesProcessed)
{
uint8_t ErrorCode;
- uint16_t BytesInTransfer = 0;
+ uint16_t BytesInTransfer = BytesProcessed ? *BytesProcessed : 0;
if ((ErrorCode = Endpoint_WaitUntilReady()))
return ErrorCode;
- if (BytesProcessed != NULL)
- Length -= *BytesProcessed;
-
- while (Length)
+ while (BytesInTransfer < Length)
{
if (!(Endpoint_IsReadWriteAllowed()))
{
if (BytesProcessed != NULL)
{
- *BytesProcessed += BytesInTransfer;
+ *BytesProcessed = BytesInTransfer;
return ENDPOINT_RWSTREAM_IncompleteTransfer;
}
else
{
Endpoint_Discard_8();
-
- Length--;
BytesInTransfer++;
}
}
uint16_t* const BytesProcessed)
{
uint8_t ErrorCode;
- uint16_t BytesInTransfer = 0;
+ uint16_t BytesInTransfer = BytesProcessed ? *BytesProcessed : 0;
if ((ErrorCode = Endpoint_WaitUntilReady()))
return ErrorCode;
- if (BytesProcessed != NULL)
- Length -= *BytesProcessed;
-
- while (Length)
+ while (BytesInTransfer < Length)
{
if (!(Endpoint_IsReadWriteAllowed()))
{
if (BytesProcessed != NULL)
{
- *BytesProcessed += BytesInTransfer;
+ *BytesProcessed = BytesInTransfer;
return ENDPOINT_RWSTREAM_IncompleteTransfer;
}
else
{
Endpoint_Write_8(0);
-
- Length--;
BytesInTransfer++;
}
}
uint16_t* const BytesProcessed)
{
uint8_t ErrorCode;
- uint16_t BytesInTransfer = 0;
+ uint16_t BytesInTransfer = BytesProcessed ? *BytesProcessed : 0;
if ((ErrorCode = Endpoint_WaitUntilReady()))
return ErrorCode;
- if (BytesProcessed != NULL)
- Length -= *BytesProcessed;
-
- while (Length)
+ while (BytesInTransfer < Length)
{
if (!(Endpoint_IsReadWriteAllowed()))
{
if (BytesProcessed != NULL)
{
- *BytesProcessed += BytesInTransfer;
+ *BytesProcessed = BytesInTransfer;
return ENDPOINT_RWSTREAM_IncompleteTransfer;
}
else
{
Endpoint_Discard_8();
-
- Length--;
BytesInTransfer++;
}
}
uint16_t* const BytesProcessed)
{
uint8_t ErrorCode;
- uint16_t BytesInTransfer = 0;
+ uint16_t BytesInTransfer = BytesProcessed ? *BytesProcessed : 0;
if ((ErrorCode = Endpoint_WaitUntilReady()))
return ErrorCode;
- if (BytesProcessed != NULL)
- Length -= *BytesProcessed;
-
- while (Length)
+ while (BytesInTransfer < Length)
{
if (!(Endpoint_IsReadWriteAllowed()))
{
if (BytesProcessed != NULL)
{
- *BytesProcessed += BytesInTransfer;
+ *BytesProcessed = BytesInTransfer;
return ENDPOINT_RWSTREAM_IncompleteTransfer;
}
else
{
Endpoint_Write_8(0);
-
- Length--;
BytesInTransfer++;
}
}
uint16_t* const BytesProcessed)
{
uint8_t ErrorCode;
- uint16_t BytesInTransfer = 0;
+ uint16_t BytesInTransfer = BytesProcessed ? *BytesProcessed : 0;
if ((ErrorCode = Endpoint_WaitUntilReady()))
return ErrorCode;
- if (BytesProcessed != NULL)
- Length -= *BytesProcessed;
-
- while (Length)
+ while (BytesInTransfer < Length)
{
if (!(Endpoint_IsReadWriteAllowed()))
{
if (BytesProcessed != NULL)
{
- *BytesProcessed += BytesInTransfer;
+ *BytesProcessed = BytesInTransfer;
return ENDPOINT_RWSTREAM_IncompleteTransfer;
}
else
{
Endpoint_Discard_8();
-
- Length--;
BytesInTransfer++;
}
}
uint16_t* const BytesProcessed)
{
uint8_t ErrorCode;
- uint16_t BytesInTransfer = 0;
+ uint16_t BytesInTransfer = BytesProcessed ? *BytesProcessed : 0;
if ((ErrorCode = Endpoint_WaitUntilReady()))
return ErrorCode;
- if (BytesProcessed != NULL)
- Length -= *BytesProcessed;
-
- while (Length)
+ while (BytesInTransfer < Length)
{
if (!(Endpoint_IsReadWriteAllowed()))
{
if (BytesProcessed != NULL)
{
- *BytesProcessed += BytesInTransfer;
+ *BytesProcessed = BytesInTransfer;
return ENDPOINT_RWSTREAM_IncompleteTransfer;
}
else
{
Endpoint_Write_8(0);
-
- Length--;
BytesInTransfer++;
}
}