Changed strings to recognized backslashified quotes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@140 626c5289-ae23-0410-ae9c-e8d60b6d4f22
This commit is contained in:
parent
fc0b24d2c5
commit
94d71dce56
1 changed files with 7 additions and 4 deletions
|
|
@ -629,10 +629,10 @@ int String_ungetc(DOH *so, int ch) {
|
||||||
*
|
*
|
||||||
* Replaces token with rep. flags is as follows:
|
* Replaces token with rep. flags is as follows:
|
||||||
*
|
*
|
||||||
* REPLACE_ANY - Replace all occurrences
|
* DOH_REPLACE_ANY - Replace all occurrences
|
||||||
* REPLACE_NOQUOTE - Don't replace in quotes
|
* DOH_REPLACE_NOQUOTE - Don't replace in quotes
|
||||||
* REPLACE_ID - Only replace valid identifiers
|
* DOH_REPLACE_ID - Only replace valid identifiers
|
||||||
* REPLACE_FIRST - Only replace first occurrence
|
* DOH_REPLACE_FIRST - Only replace first occurrence
|
||||||
*
|
*
|
||||||
* start is a starting position. count is a count.
|
* start is a starting position. count is a count.
|
||||||
* ----------------------------------------------------------------------------- */
|
* ----------------------------------------------------------------------------- */
|
||||||
|
|
@ -702,6 +702,9 @@ int replace_internal(String *str, char *token, char *rep, int flags, char *start
|
||||||
} else if (flags & DOH_REPLACE_NOQUOTE) {
|
} else if (flags & DOH_REPLACE_NOQUOTE) {
|
||||||
if (*c == '\"') state = 20;
|
if (*c == '\"') state = 20;
|
||||||
else if (*c == '\'') state = 30;
|
else if (*c == '\'') state = 30;
|
||||||
|
else if (*c == '\\' &&
|
||||||
|
(*(c+1) == '\'' || *(c+1) == '\"'))
|
||||||
|
c++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 10: /* The start of an identifier */
|
case 10: /* The start of an identifier */
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue