From 460655f31ca1bec2d6ad52fd82379fa24bc7efa4 Mon Sep 17 00:00:00 2001 From: Russell Bryant <russell@russellbryant.com> Date: Tue, 11 Oct 2005 20:52:37 +0000 Subject: [PATCH] allow semicolons to be escaped in call files (issue #5407) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6742 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- pbx/pbx_spool.c | 14 +++++++++++--- sample.call | 14 +++++++++++--- 2 files changed, 22 insertions(+), 6 deletions(-) diff --git a/pbx/pbx_spool.c b/pbx/pbx_spool.c index a3c8cdac63..bcb780deb9 100755 --- a/pbx/pbx_spool.c +++ b/pbx/pbx_spool.c @@ -129,9 +129,17 @@ static int apply_outgoing(struct outgoing *o, char *fn, FILE *f) else c++; } - c = strchr(buf, ';'); - if (c) - *c = '\0'; + + c = buf; + while ((c = strchr(c, ';'))) { + if ((c > buf) && (c[-1] == '\\')) { + memmove(c - 1, c, strlen(c) + 1); + c++; + } else { + *c = '\0'; + break; + } + } /* Trim trailing white space */ while(!ast_strlen_zero(buf) && buf[strlen(buf) - 1] < 33) diff --git a/sample.call b/sample.call index 38fae5fed7..750ef4ddf7 100755 --- a/sample.call +++ b/sample.call @@ -1,8 +1,16 @@ # # This is a sample file that can be dumped in /var/spool/asterisk/outgoing -# to generate a call. Obviously, you MUST specify at least a channel in -# the same format as you would for the "Dial" application. Only one -# channel name is permitted. +# to generate a call. +# +# Comments are indicated by a '#' character that begins a line, or follows +# a space or tab character. To be consistent with the configuration files +# in Asterisk, comments can also be indicated by a semicolon. However, the +# multiline comments (;-- --;) used in Asterisk configuration files are not +# supported. Semicolons can be escaped by a backslash. +# + +# Obviously, you MUST specify at least a channel in the same format as you +# would for the "Dial" application. Only one channel name is permitted. # Channel: Zap/1 # -- GitLab