break;
}
tmp[res] = 0;
+ if (strncmp(tmp, "cli quit after ", 15) == 0) {
+ ast_cli_command_multiple(con->fd, res - 15, tmp + 15);
+ break;
+ }
ast_cli_command_multiple(con->fd, res, tmp);
}
if (fds[1].revents) {
int num = 0;
read(ast_consock, buf, sizeof(buf));
- if (data)
- write(ast_consock, data, strlen(data) + 1);
+ if (data) {
+ char prefix[] = "cli quit after ";
+ char *tmp = alloca(strlen(data) + strlen(prefix) + 1);
+ sprintf(tmp, "%s%s", prefix, data);
+ write(ast_consock, tmp, strlen(tmp) + 1);
+ }
stringp = buf;
hostname = strsep(&stringp, "/");
cpid = strsep(&stringp, "/");