diff --git a/ChangeLog b/ChangeLog index f338828af..03a9a84a0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,7 @@ 2005-12-13 Richard Frith-Macdonald * Source/Additions/GSXML.m: Fix error parsing date/time in xmlrpc + Remove bad characters when escaping string for xml. 2005-12-07 Richard Frith-Macdonald diff --git a/Source/Additions/GSXML.m b/Source/Additions/GSXML.m index 7a1057779..1ec21255d 100644 --- a/Source/Additions/GSXML.m +++ b/Source/Additions/GSXML.m @@ -4114,7 +4114,9 @@ static BOOL warned = NO; if (warned == NO) { warned = YES; NSLog(@"WARNING, use { unichar c = from[i]; - if (c >= 0x20 || c == 0x9 || c == 0xa || c == 0xd) + if ((c >= 0x20 && c <= 0xd7ff) + || c == 0x9 || c == 0xd || c == 0xd + || (c >= 0xe000 && c <= 0xfffd)) { switch (c) { @@ -4153,6 +4155,10 @@ static BOOL warned = NO; if (warned == NO) { warned = YES; NSLog(@"WARNING, use break; } } + else + { + escape = YES; // Need to remove bad characters + } } if (escape == YES) @@ -4166,7 +4172,9 @@ static BOOL warned = NO; if (warned == NO) { warned = YES; NSLog(@"WARNING, use { unichar c = from[i]; - if (c >= 0x20 || c == 0x9 || c == 0xa || c == 0xd) + if ((c >= 0x20 && c <= 0xd7ff) + || c == 0x9 || c == 0xd || c == 0xd + || (c >= 0xe000 && c <= 0xfffd)) { switch (c) {