aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
authorqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-17 19:12:19 +0000
committerqwell <qwell@f38db490-d61c-443f-a65b-d21fe96a405b>2007-08-17 19:12:19 +0000
commita631984b3617c8fdbf36c8533f574e5e459988bf (patch)
tree74277c4e58ceeb0ab5c630174226a5db4cf69d10 /main
parent2b6f82ef2e0f01aba6b78c86ba37e16cc4140ee4 (diff)
Don't send a semicolon over the wire in sip notify messages.
Caused by fix for issue 9938. I basically took the code that existed before 9938 was fixed, and copied it into a new function - ast_unescape_semicolon There should be very few places this will be needed (pbx_config does NOT need this (see issue 9938 for details)) Issue 10430, patch by me, with help/ideas from murf (thanks murf). git-svn-id: http://svn.digium.com/svn/asterisk/branches/1.4@79904 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'main')
-rw-r--r--main/utils.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/main/utils.c b/main/utils.c
index 8b2b86694..56d3ffe85 100644
--- a/main/utils.c
+++ b/main/utils.c
@@ -880,6 +880,21 @@ char *ast_strip_quoted(char *s, const char *beg_quotes, const char *end_quotes)
return s;
}
+char *ast_unescape_semicolon(char *s)
+{
+ char *e;
+ char *work = s;
+
+ while ((e = strchr(work, ';'))) {
+ if ((e > work) && (*(e-1) == '\\')) {
+ memmove(e - 1, e, strlen(e) + 1);
+ work = e;
+ }
+ }
+
+ return s;
+}
+
int ast_build_string_va(char **buffer, size_t *space, const char *fmt, va_list ap)
{
int result;