Skip to content

Commit 1d239db

Browse files
[tty]修复多次scanf之后,导致丢数据的问题 (#7640)
1 parent f4294c6 commit 1d239db

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

components/drivers/tty/n_tty.c

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1436,14 +1436,15 @@ static int canon_copy_from_read_buf(struct tty_struct *tty, char *b, size_t nr)
14361436

14371437
size_t buf_size = RT_TTY_BUF - tail;
14381438
const void *from = read_buf_addr(ldata, tail);
1439+
size_t temp_n = n;
14391440
if (n > buf_size)
14401441
{
14411442
rt_memcpy(b, from, buf_size);
14421443
b += buf_size;
1443-
n -= buf_size;
1444+
temp_n -= buf_size;
14441445
from = ldata->read_buf;
14451446
}
1446-
rt_memcpy(b, from, n);
1447+
rt_memcpy(b, from, temp_n);
14471448

14481449
if (found)
14491450
{

0 commit comments

Comments
 (0)