details: https://hg.nginx.org/njs/rev/0e97da4147da branches: changeset: 2173:0e97da4147da user: Vadim Zhestikov <v.zhesti...@f5.com> date: Fri Jun 30 19:49:46 2023 -0700 description: Improved interactive shell.
diffstat: external/njs_shell.c | 17 ++++++++++++----- 1 files changed, 12 insertions(+), 5 deletions(-) diffs (42 lines): diff -r 2c532e7c29ac -r 0e97da4147da external/njs_shell.c --- a/external/njs_shell.c Fri Jun 30 19:49:45 2023 -0700 +++ b/external/njs_shell.c Fri Jun 30 19:49:46 2023 -0700 @@ -1073,19 +1073,24 @@ njs_cb_line_handler(char *line_in) njs_int_t ret; njs_str_t line; - if (line_in == NULL || strcmp(line_in, ".exit") == 0) { + if (line_in == NULL) { njs_running = NJS_DONE; return; } + line.start = (u_char *) line_in; + line.length = njs_strlen(line.start); + + if (strcmp(line_in, ".exit") == 0) { + njs_running = NJS_DONE; + goto free_line; + } + njs_sigint_count = 0; - line.start = (u_char *) line_in; - line.length = njs_strlen(line.start); - if (line.length == 0) { rl_callback_handler_install(">> ", njs_cb_line_handler); - return; + goto free_line; } add_history((char *) line.start); @@ -1099,6 +1104,8 @@ njs_cb_line_handler(char *line_in) rl_callback_handler_install(">> ", njs_cb_line_handler); } +free_line: + free(line.start); } _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org https://mailman.nginx.org/mailman/listinfo/nginx-devel