summaryrefslogtreecommitdiff
path: root/components/drivers/src
diff options
context:
space:
mode:
authortangyuxin <[email protected]>2018-03-25 07:54:25 +0800
committertangyuxin <[email protected]>2018-03-25 07:54:31 +0800
commit5b31545970ab395fcada828a71f7b67e5c39e9a3 (patch)
tree48939c7d69f3a45ba3b8efc035af3ebfc3a530bd /components/drivers/src
parent228c820e4d86dfcb0644f4c1781ae6952179e18e (diff)
[drivers]Fix put_force bug
Diffstat (limited to 'components/drivers/src')
-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)
{