diff options
-rw-r--r-- | include/baresip.h | 3 | ||||
-rw-r--r-- | src/cmd.c | 10 |
2 files changed, 8 insertions, 5 deletions
diff --git a/include/baresip.h b/include/baresip.h index 3dac69e..dfd36cc 100644 --- a/include/baresip.h +++ b/include/baresip.h @@ -642,7 +642,8 @@ int ui_password_prompt(char **passwordp); */ /* special keys */ -#define KEYCODE_REL (0x00) /* Key was released */ +#define KEYCODE_NONE (0x00) +#define KEYCODE_REL (-1) /* Key was released */ /** Command flags */ @@ -286,15 +286,17 @@ int cmd_process(struct cmd_ctx **ctxp, char key, struct re_printf *pf, /* check for parameters */ if (cmd->flags & CMD_PRM) { + int err = 0; + if (ctxp) { - int err = ctx_alloc(ctxp, cmd); + err = ctx_alloc(ctxp, cmd); if (err) return err; } - return cmd_process_edit(ctxp, - isdigit(key) ? key : 0, - pf, data); + key = isdigit(key) ? key : KEYCODE_REL; + + return cmd_process_edit(ctxp, key, pf, data); } arg.key = key; |