diff options
| author | tangyuxin <[email protected]> | 2018-03-25 07:54:25 +0800 |
|---|---|---|
| committer | tangyuxin <[email protected]> | 2018-03-25 07:54:31 +0800 |
| commit | 5b31545970ab395fcada828a71f7b67e5c39e9a3 (patch) | |
| tree | 48939c7d69f3a45ba3b8efc035af3ebfc3a530bd /components/drivers | |
| parent | 228c820e4d86dfcb0644f4c1781ae6952179e18e (diff) | |
[drivers]Fix put_force bug
Diffstat (limited to 'components/drivers')
| -rw-r--r-- | components/drivers/src/ringbuffer.c | 5 |
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) { |
