소스 검색

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);
     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;
         length = rb->buffer_size;
+    }
 
 
     if (rb->buffer_size - rb->write_index > length)
     if (rb->buffer_size - rb->write_index > length)
     {
     {