浏览代码

Merge pull request #1314 from enkiller/dev

[drivers]Fix put_force bug
Bernard Xiong 7 年之前
父节点
当前提交
c6a5a2a386
共有 1 个文件被更改,包括 4 次插入1 次删除
  1. 4 1
      components/drivers/src/ringbuffer.c

+ 4 - 1
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)
     {