From e8458b2402e7a068f25f01d0b72e6aed73ca2138 Mon Sep 17 00:00:00 2001 From: hiiizxf <385122613@qq.com> Date: Wed, 28 Feb 2024 19:32:24 +0800 Subject: [PATCH] doc: fix tty example segfault (#4322) Fixes: https://github.com/libuv/libuv/issues/4303 --- docs/code/tty/main.c | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/docs/code/tty/main.c b/docs/code/tty/main.c index d44ec62c..ce360798 100644 --- a/docs/code/tty/main.c +++ b/docs/code/tty/main.c @@ -5,25 +5,27 @@ uv_loop_t *loop; uv_tty_t tty; -int main() { - loop = uv_default_loop(); +int main() { + uv_write_t req; + uv_buf_t buf; + uv_write_t req1; + uv_buf_t buf1; + + loop = uv_default_loop(); uv_tty_init(loop, &tty, STDOUT_FILENO, 0); uv_tty_set_mode(&tty, UV_TTY_MODE_NORMAL); if (uv_guess_handle(1) == UV_TTY) { - uv_write_t req; - uv_buf_t buf; - buf.base = "\033[41;37m"; - buf.len = strlen(buf.base); - uv_write(&req, (uv_stream_t*) &tty, &buf, 1, NULL); + buf1.base = "\033[41;37m"; + buf1.len = strlen(buf1.base); + uv_write(&req1, (uv_stream_t*) &tty, &buf1, 1, NULL); } - uv_write_t req; - uv_buf_t buf; buf.base = "Hello TTY\n"; buf.len = strlen(buf.base); uv_write(&req, (uv_stream_t*) &tty, &buf, 1, NULL); + uv_tty_reset_mode(); return uv_run(loop, UV_RUN_DEFAULT); }