mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-25 09:41:15 +00:00
Tidied xml parsing
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@7480 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
605b1c2dd0
commit
1bfa5baeb9
2 changed files with 15 additions and 13 deletions
|
@ -21,7 +21,7 @@ extern int xmlGetWarningsDefaultValue;
|
||||||
*/
|
*/
|
||||||
static Class NSString_class;
|
static Class NSString_class;
|
||||||
static IMP csImp;
|
static IMP csImp;
|
||||||
static SEL csSel = @selector(stringWithCString: );
|
static SEL csSel = @selector(stringWithCString:);
|
||||||
|
|
||||||
static BOOL cacheDone = NO;
|
static BOOL cacheDone = NO;
|
||||||
|
|
||||||
|
@ -103,7 +103,7 @@ setupCache()
|
||||||
|
|
||||||
- (GSXMLNode*) root
|
- (GSXMLNode*) root
|
||||||
{
|
{
|
||||||
return [GSXMLNode nodeFrom: xmlDocGetRootElement(lib)];
|
return [GSXMLNode nodeFrom: xmlDocGetRootElement(lib)];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (GSXMLNode*) setRoot: (GSXMLNode*)node
|
- (GSXMLNode*) setRoot: (GSXMLNode*)node
|
||||||
|
@ -374,7 +374,7 @@ setupCache()
|
||||||
|
|
||||||
+ (GSXMLNode*) nodeFrom: (void*)data
|
+ (GSXMLNode*) nodeFrom: (void*)data
|
||||||
{
|
{
|
||||||
return AUTORELEASE([[self alloc] nodeFrom: data]);
|
return AUTORELEASE([[self alloc] initFrom: data]);
|
||||||
}
|
}
|
||||||
|
|
||||||
- (id) initFrom: (void*)data
|
- (id) initFrom: (void*)data
|
||||||
|
@ -786,14 +786,13 @@ setupCache()
|
||||||
}
|
}
|
||||||
if ([src isKindOfClass: [NSData class]])
|
if ([src isKindOfClass: [NSData class]])
|
||||||
{
|
{
|
||||||
NSLog(@"parse data length %d", [src length]);
|
lib = (void*)xmlCreateMemoryParserCtxt((void*)[src bytes],
|
||||||
NSLog(@"parse data %*s", [src length], [src bytes]);
|
[src length]-1);
|
||||||
lib = (void*)xmlCreateMemoryParserCtxt((void*)[src bytes], [src length]);
|
if (lib == NULL)
|
||||||
if (lib == NULL)
|
{
|
||||||
{
|
NSLog(@"out of memory");
|
||||||
NSLog(@"out of memory");
|
return NO;
|
||||||
return NO;
|
}
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else if ([src isKindOfClass: [NSString class]])
|
else if ([src isKindOfClass: [NSString class]])
|
||||||
{
|
{
|
||||||
|
|
|
@ -768,9 +768,12 @@ static id parsePl(pldata* pld)
|
||||||
{
|
{
|
||||||
NSData *data;
|
NSData *data;
|
||||||
GSXMLParser *parser;
|
GSXMLParser *parser;
|
||||||
|
char *buf = NSZoneMalloc(NSDefaultMallocZone(), pld->end+1);
|
||||||
|
|
||||||
data = [NSData dataWithBytes: pld->ptr length: pld->end];
|
memcpy(buf, pld->ptr, pld->end);
|
||||||
NSLog(@"Parsing '%*s'", pld->end, pld->ptr);
|
buf[pld->end] = '\0';
|
||||||
|
data = [NSData dataWithBytesNoCopy: buf length: pld->end+1];
|
||||||
|
NSLog(@"Parsing '%s'", buf);
|
||||||
parser = [GSXMLParser parser: data];
|
parser = [GSXMLParser parser: data];
|
||||||
if ([parser parse] == YES)
|
if ([parser parse] == YES)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue