version 1.49, 2020/04/13 15:55:51 |
version 1.50, 2020/04/13 18:59:41 |
|
|
int done) |
int done) |
{ |
{ |
struct cmd_command_prompt_cdata *cdata = data; |
struct cmd_command_prompt_cdata *cdata = data; |
struct cmdq_item *new_item; |
char *new_template, *prompt, *ptr, *error; |
char *new_template, *prompt, *ptr; |
|
char *input = NULL; |
char *input = NULL; |
struct cmd_parse_result *pr; |
enum cmd_parse_status status; |
|
|
if (s == NULL) |
if (s == NULL) |
return (0); |
return (0); |
|
|
return (1); |
return (1); |
} |
} |
|
|
pr = cmd_parse_from_string(new_template, NULL); |
status = cmd_parse_and_append(new_template, NULL, c, NULL, &error); |
switch (pr->status) { |
if (status == CMD_PARSE_ERROR) { |
case CMD_PARSE_EMPTY: |
cmdq_append(c, cmdq_get_error(error)); |
new_item = NULL; |
free(error); |
break; |
|
case CMD_PARSE_ERROR: |
|
new_item = cmdq_get_error(pr->error); |
|
free(pr->error); |
|
cmdq_append(c, new_item); |
|
break; |
|
case CMD_PARSE_SUCCESS: |
|
new_item = cmdq_get_command(pr->cmdlist, NULL); |
|
cmd_list_free(pr->cmdlist); |
|
cmdq_append(c, new_item); |
|
break; |
|
} |
} |
|
|
if (!done) |
if (!done) |