MINOR: cli: parse prompt command in the CLI proxy
Handle the prompt command. Works the same way as the CLI.
diff --git a/include/types/stream.h b/include/types/stream.h
index 87bdf46..52c0b97 100644
--- a/include/types/stream.h
+++ b/include/types/stream.h
@@ -163,6 +163,8 @@
struct stream_interface *si);
int pcli_next_pid; /* next target PID to use for the CLI proxy */
+ int pcli_prompt; /* is there a prompt ?! */
+
char *unique_id; /* custom unique ID */
/* These two pointers are used to resume the execution of the rule lists. */
diff --git a/src/cli.c b/src/cli.c
index e7682f5..3171c0a 100644
--- a/src/cli.c
+++ b/src/cli.c
@@ -1657,6 +1657,9 @@
struct buffer *msg = get_trash_chunk();
struct channel *oc = si_oc(&s->si[0]);
+ if (!s->pcli_prompt)
+ return;
+
if (s->pcli_next_pid == 0)
chunk_appendf(msg, "master> ");
else
@@ -1781,6 +1784,9 @@
else
*next_pid = target_pid;
return 1;
+ } else if (!strcmp("prompt", args[0])) {
+ s->pcli_prompt ^= 1;
+ return argl; /* return the number of elements in the array */
}
return 0;
diff --git a/src/stream.c b/src/stream.c
index 805fe4d..67b0c8d 100644
--- a/src/stream.c
+++ b/src/stream.c
@@ -201,6 +201,7 @@
s->flags |= SF_INITIALIZED;
s->pcli_next_pid = 0;
+ s->pcli_prompt = 0;
s->unique_id = NULL;
if ((t = task_new(tid_bit)) == NULL)