summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/baresip.h3
-rw-r--r--src/cmd.c10
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 */
diff --git a/src/cmd.c b/src/cmd.c
index 9143a3e..cd70f5b 100644
--- a/src/cmd.c
+++ b/src/cmd.c
@@ -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;