change(console): drop the use of open_memstream()

the argtable3 provides string based output return, there is no need to go via
stdio structures.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
Signed-off-by: Ivan Grokhotkov <ivan@espressif.com>
Closes https://github.com/espressif/esp-idf/pull/12507
This commit is contained in:
Alon Bar-Lev 2023-11-01 21:05:25 +02:00 committed by Ivan Grokhotkov
parent 34f0a0d6e5
commit 93706028de
No known key found for this signature in database
GPG Key ID: 1E050E141B280628

View File

@ -125,14 +125,10 @@ esp_err_t esp_console_cmd_register(const esp_console_cmd_t *cmd)
unused = asprintf(&item->hint, " %s", cmd->hint);
} else if (cmd->argtable) {
/* Generate hint based on cmd->argtable */
char *buf = NULL;
size_t buf_size = 0;
FILE *f = open_memstream(&buf, &buf_size);
if (f != NULL) {
arg_print_syntax(f, cmd->argtable, NULL);
fclose(f);
}
item->hint = buf;
arg_dstr_t ds = arg_dstr_create();
arg_print_syntax_ds(ds, cmd->argtable, NULL);
item->hint = strdup(arg_dstr_cstr(ds));
arg_dstr_destroy(ds);
}
item->argtable = cmd->argtable;