Revision
16440
Author
anthm
Date
2010-01-21 13:59:28 -0600 (Thu, 21 Jan 2010)

Log Message

allow double escape in parser for \

Modified Paths

Diff

Modified: freeswitch/trunk/src/switch_utils.c (16439 => 16440)


--- freeswitch/trunk/src/switch_utils.c	2010-01-21 19:40:02 UTC (rev 16439)
+++ freeswitch/trunk/src/switch_utils.c	2010-01-21 19:59:28 UTC (rev 16440)
@@ -1571,6 +1571,9 @@
 	case 's':
 		unescaped = ' ';
 		break;
+	case '\\':
+		unescaped = 1; /* 1 means double esc */
+		break;
 	default:
 		unescaped = escaped;
 	}
@@ -1644,7 +1647,11 @@
 			e = *(ptr + 1);
 			if (e == '\'' || e == '"' || (delim && e == delim) || (e = unescape_char(*(ptr + 1))) != *(ptr + 1)) {
 				++ptr;
-				*dest++ = e;
+				if (e == 1) {
+					*dest++ = '\\';
+				} else {
+					*dest++ = e;
+				}
 				end = dest;
 				esc++;
 			}