X-Git-Url: https://diplodocus.org/git/nmh/blobdiff_plain/a5a1425258ffb1f72e853b6adc6ff0ae58c636bd..94187a80bd60baab4b9c4b949ad820d730578123:/sbr/read_switch_multiword_via_readline.c diff --git a/sbr/read_switch_multiword_via_readline.c b/sbr/read_switch_multiword_via_readline.c index 2c6912ba..0c099c56 100644 --- a/sbr/read_switch_multiword_via_readline.c +++ b/sbr/read_switch_multiword_via_readline.c @@ -1,6 +1,4 @@ - -/* - * read_switch_multiword_via_readline.c -- get an answer from the user, with readline +/* read_switch_multiword_via_readline.c -- get an answer from the user, with readline * * This code is Copyright (c) 2012, by the authors of nmh. See the * COPYRIGHT file in the root directory of the nmh distribution for @@ -51,6 +49,8 @@ read_switch_multiword_via_readline(char *prompt, struct swit *ansp) add_history(ans); strncpy(ansbuf, ans, sizeof(ansbuf)); ansbuf[sizeof(ansbuf) - 1] = '\0'; + free(ans); + cpp = brkstring(ansbuf, " ", NULL); switch (smatch(*cpp, ansp)) { case AMBIGSW: @@ -60,10 +60,8 @@ read_switch_multiword_via_readline(char *prompt, struct swit *ansp) printf(" -%s unknown. Hit for help.\n", *cpp); continue; default: - free(ans); return cpp; } - free(ans); } } @@ -77,16 +75,12 @@ initialize_readline(void) static char ** nmh_completion(const char *text, int start, int end) { - char **matches; - NMH_UNUSED (end); - matches = (char **) NULL; - if (start == 0) - matches = rl_completion_matches(text, nmh_command_generator); + return rl_completion_matches(text, nmh_command_generator); - return matches; + return NULL; } static char * @@ -113,4 +107,3 @@ nmh_command_generator(const char *text, int state) return NULL; } #endif /* READLINE_SUPPORT */ -