summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorBernard Xiong <[email protected]>2018-03-28 00:53:08 +0800
committerGitHub <[email protected]>2018-03-28 00:53:08 +0800
commitc6a5a2a3864e54d773afd207f3da7d159415d151 (patch)
treefcd134acb047f0069626c25dfe166c7a8f3dd121 /components
parent161778df806574e869f1a1600a3ea49064d7a78c (diff)
parent5b31545970ab395fcada828a71f7b67e5c39e9a3 (diff)
Merge pull request #1314 from enkiller/dev
[drivers]Fix put_force bug
Diffstat (limited to 'components')
-rw-r--r--components/drivers/src/ringbuffer.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/components/drivers/src/ringbuffer.c b/components/drivers/src/ringbuffer.c
index baeeea0e50..48bf590f8c 100644
--- a/components/drivers/src/ringbuffer.c
+++ b/components/drivers/src/ringbuffer.c
@@ -119,8 +119,11 @@ rt_size_t rt_ringbuffer_put_force(struct rt_ringbuffer *rb,
space_length = rt_ringbuffer_space_len(rb);
- if (length > space_length)
+ if (length > rb->buffer_size)
+ {
+ ptr = &ptr[length - rb->buffer_size];
length = rb->buffer_size;
+ }
if (rb->buffer_size - rb->write_index > length)
{