Skip to content

Commit 744c152

Browse files
committed
fix: 🐛 修复vprintf往fifo中写数据,交换连续内存导致的计算问题
1 parent b31452f commit 744c152

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

core/utils/fc_fifo_vprintf.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,9 @@ static int __fc_fifo_vprintf_write(FC_FILE *f, const void *buf, int len)
3434

3535
if (len >= (int)FC_IO_SWAP) // 只可能==FC_IO_SWAP
3636
{
37-
fc_fifo_linear_write_done((fc_fifo_t *)(f->user), (size_t)f->p_now - (size_t)f->p_start);
37+
// 不能使用p_now,调用write的时候p_now已经等于NULL了,只有连续内存写完的时候会尝试调用一次更新连续内存
38+
// fc_fifo_linear_write_done((fc_fifo_t *)(f->user), (size_t)f->p_now - (size_t)f->p_start);
39+
fc_fifo_linear_write_done((fc_fifo_t *)(f->user), (size_t)f->p_end - (size_t)f->p_start);
3840

3941
// 还有空间
4042
if (fc_fifo_get_free((fc_fifo_t *)(f->user)) >= 1)

0 commit comments

Comments
 (0)