aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c
diff options
context:
space:
mode:
authorskullydazed <skullydazed@users.noreply.github.com>2019-07-07 10:59:58 -0700
committerGitHub <noreply@github.com>2019-07-07 10:59:58 -0700
commit04a7f66421ac141a8927491fa61e4f8e425accad (patch)
tree027bafce1cd12c31e84a758bea24d5fdb78226cb /LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c
parentd0fd80affba97b37eb00c650e87cb5982a4f260e (diff)
parent57edb9b0976fad82bfd0384b16c6c3269e0d19ce (diff)
downloadlufa-04a7f66421ac141a8927491fa61e4f8e425accad.tar.gz
lufa-04a7f66421ac141a8927491fa61e4f8e425accad.tar.bz2
lufa-04a7f66421ac141a8927491fa61e4f8e425accad.zip
Merge pull request #2 from drashna/master
Update LUFA repo from upstream
Diffstat (limited to 'LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c')
-rw-r--r--LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c26
1 files changed, 8 insertions, 18 deletions
diff --git a/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c b/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c
index 04f6e97d6..cf5e7fb03 100644
--- a/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c
+++ b/LUFA/Drivers/USB/Core/UC3/EndpointStream_UC3.c
@@ -1,13 +1,13 @@
/*
LUFA Library
- Copyright (C) Dean Camera, 2017.
+ Copyright (C) Dean Camera, 2019.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2017 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2019 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
@@ -43,15 +43,12 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length,
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()))
{
@@ -59,7 +56,7 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length,
if (BytesProcessed != NULL)
{
- *BytesProcessed += BytesInTransfer;
+ *BytesProcessed = BytesInTransfer;
return ENDPOINT_RWSTREAM_IncompleteTransfer;
}
@@ -69,8 +66,6 @@ uint8_t Endpoint_Discard_Stream(uint16_t Length,
else
{
Endpoint_Discard_8();
-
- Length--;
BytesInTransfer++;
}
}
@@ -82,15 +77,12 @@ uint8_t Endpoint_Null_Stream(uint16_t Length,
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()))
{
@@ -98,7 +90,7 @@ uint8_t Endpoint_Null_Stream(uint16_t Length,
if (BytesProcessed != NULL)
{
- *BytesProcessed += BytesInTransfer;
+ *BytesProcessed = BytesInTransfer;
return ENDPOINT_RWSTREAM_IncompleteTransfer;
}
@@ -108,8 +100,6 @@ uint8_t Endpoint_Null_Stream(uint16_t Length,
else
{
Endpoint_Write_8(0);
-
- Length--;
BytesInTransfer++;
}
}