aboutsummaryrefslogtreecommitdiff
path: root/cmd-queue.c
diff options
context:
space:
mode:
authorThomas Adam <thomas@xteddy.org>2019-05-20 15:02:40 +0100
committerThomas Adam <thomas@xteddy.org>2019-05-20 15:02:40 +0100
commit98ee93bde39b608fbcdca3b246b7d2088740f7cb (patch)
tree8772ddfccea6237ae2b6635ef192ef39fe2b82e7 /cmd-queue.c
parent3a7e15511ba3353588cdf61c0d195699bcb0dcbc (diff)
parent87d82170a615007bbd2f880765f222dd5c263000 (diff)
downloadrtmux-98ee93bde39b608fbcdca3b246b7d2088740f7cb.tar.gz
rtmux-98ee93bde39b608fbcdca3b246b7d2088740f7cb.tar.bz2
rtmux-98ee93bde39b608fbcdca3b246b7d2088740f7cb.zip
Merge branch 'obsd-master'
Diffstat (limited to 'cmd-queue.c')
-rw-r--r--cmd-queue.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/cmd-queue.c b/cmd-queue.c
index 93b9788e..68bedae8 100644
--- a/cmd-queue.c
+++ b/cmd-queue.c
@@ -329,6 +329,25 @@ cmdq_get_callback1(const char *name, cmdq_cb cb, void *data)
return (item);
}
+/* Generic error callback. */
+static enum cmd_retval
+cmdq_error_callback(struct cmdq_item *item, void *data)
+{
+ char *error = data;
+
+ cmdq_error(item, "%s", error);
+ free(error);
+
+ return (CMD_RETURN_NORMAL);
+}
+
+/* Get an error callback for the command queue. */
+struct cmdq_item *
+cmdq_get_error(const char *error)
+{
+ return (cmdq_get_callback(cmdq_error_callback, xstrdup(error)));
+}
+
/* Fire callback on callback queue. */
static enum cmd_retval
cmdq_fire_callback(struct cmdq_item *item)