diff options
| author | Grissiom <[email protected]> | 2013-05-15 20:16:03 +0800 |
|---|---|---|
| committer | Grissiom <[email protected]> | 2013-05-15 20:16:03 +0800 |
| commit | 60857630c0e3dbcc7cf295e377de9641a0c0a53e (patch) | |
| tree | c0a9bf801f9bad7959827cc98c9965097990bef8 | |
| parent | f7d1097e6ba5aa1960afd9b8e1670d141678dc9c (diff) | |
simulator: fix serial_write
printf("%s") will print a NULL terminated string, while rt_serial_write
should print buffer for size length. This also fix segfault when the
string is not null terminated but specified by size.
| -rwxr-xr-x | bsp/simulator/drivers/serial.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/bsp/simulator/drivers/serial.c b/bsp/simulator/drivers/serial.c index 8f7567e439..72cbad3baf 100755 --- a/bsp/simulator/drivers/serial.c +++ b/bsp/simulator/drivers/serial.c @@ -164,7 +164,7 @@ static rt_size_t rt_serial_write(rt_device_t dev, rt_off_t pos, const void *buff #endif level = rt_hw_interrupt_disable(); - printf("%s", (char *)buffer); + fwrite(buffer, size, 1, stdout); fflush(stdout); rt_hw_interrupt_enable(level); return size; |
