@@ -100,13 +100,13 @@ rt_size_t rt_ringbuffer_put_force(struct rt_ringbuffer *rb,
100100 const rt_uint8_t * ptr ,
101101 rt_uint16_t length )
102102{
103- enum rt_ringbuffer_state old_state ;
103+ rt_uint16_t space_length ;
104104
105105 RT_ASSERT (rb != RT_NULL );
106106
107- old_state = rt_ringbuffer_status (rb );
107+ space_length = rt_ringbuffer_space_len (rb );
108108
109- if (length > rb -> buffer_size )
109+ if (length > space_length )
110110 length = rb -> buffer_size ;
111111
112112 if (rb -> buffer_size - rb -> write_index > length )
@@ -117,7 +117,7 @@ rt_size_t rt_ringbuffer_put_force(struct rt_ringbuffer *rb,
117117 * length of data in current mirror */
118118 rb -> write_index += length ;
119119
120- if (old_state == RT_RINGBUFFER_FULL )
120+ if (length > space_length )
121121 rb -> read_index = rb -> write_index ;
122122
123123 return length ;
@@ -134,7 +134,7 @@ rt_size_t rt_ringbuffer_put_force(struct rt_ringbuffer *rb,
134134 rb -> write_mirror = ~rb -> write_mirror ;
135135 rb -> write_index = length - (rb -> buffer_size - rb -> write_index );
136136
137- if (old_state == RT_RINGBUFFER_FULL )
137+ if (length > space_length )
138138 {
139139 rb -> read_mirror = ~rb -> read_mirror ;
140140 rb -> read_index = rb -> write_index ;
0 commit comments