diff options
| author | Bernard Xiong <[email protected]> | 2018-03-28 00:53:08 +0800 |
|---|---|---|
| committer | GitHub <[email protected]> | 2018-03-28 00:53:08 +0800 |
| commit | c6a5a2a3864e54d773afd207f3da7d159415d151 (patch) | |
| tree | fcd134acb047f0069626c25dfe166c7a8f3dd121 /components | |
| parent | 161778df806574e869f1a1600a3ea49064d7a78c (diff) | |
| parent | 5b31545970ab395fcada828a71f7b67e5c39e9a3 (diff) | |
Merge pull request #1314 from enkiller/dev
[drivers]Fix put_force bug
Diffstat (limited to 'components')
| -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) { |
