mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 16:50:58 +00:00
Attempt to handle illegal character in nib.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@24657 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
7be42e2944
commit
71ee83d4bc
2 changed files with 23 additions and 14 deletions
|
@ -3,7 +3,10 @@
|
||||||
* Source/NSRunLoop.m: ([performSelector:target:argument:order:modes:])
|
* Source/NSRunLoop.m: ([performSelector:target:argument:order:modes:])
|
||||||
Alter to retain target and arguments to match MacOS-X (bug #19099)
|
Alter to retain target and arguments to match MacOS-X (bug #19099)
|
||||||
* Source/NSString.m: Fixup removal of leading path separator when
|
* Source/NSString.m: Fixup removal of leading path separator when
|
||||||
appending path component.
|
appending path componet.
|
||||||
|
* Source/NSPropertyList.m: If parsing of xml property list fails,
|
||||||
|
try again with more tolerant parser which accepts illegal characters.
|
||||||
|
Might fix bug #17112 (illegal character in nib)
|
||||||
|
|
||||||
2007-02-17 Richard Frith-Macdonald <rfm@gnu.org>
|
2007-02-17 Richard Frith-Macdonald <rfm@gnu.org>
|
||||||
|
|
||||||
|
|
|
@ -2597,20 +2597,26 @@ GSPropertyListMake(id obj, NSDictionary *loc, BOOL xml,
|
||||||
{
|
{
|
||||||
result = nodeToObject([node firstChild], anOption, &error);
|
result = nodeToObject([node firstChild], anOption, &error);
|
||||||
}
|
}
|
||||||
#else
|
#endif
|
||||||
|
/* The libxml based parser is stricter than the fallback
|
||||||
|
* parser, so if parsing failed using that, we can try again.
|
||||||
|
*/
|
||||||
|
if (result == nil)
|
||||||
|
{
|
||||||
GSXMLPListParser *parser;
|
GSXMLPListParser *parser;
|
||||||
|
|
||||||
parser = AUTORELEASE([[GSXMLPListParser alloc] initWithData: data
|
parser = [GSXMLPListParser alloc];
|
||||||
|
parser = AUTORELEASE([parser initWithData: data
|
||||||
mutability: anOption]);
|
mutability: anOption]);
|
||||||
if ([parser parse] == YES)
|
if ([parser parse] == YES)
|
||||||
{
|
{
|
||||||
result = AUTORELEASE(RETAIN([parser result]));
|
result = AUTORELEASE(RETAIN([parser result]));
|
||||||
}
|
}
|
||||||
else
|
else if (error == nil)
|
||||||
{
|
{
|
||||||
error = @"failed to parse as XML property list";
|
error = @"failed to parse as XML property list";
|
||||||
}
|
}
|
||||||
#endif
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue