mirror of
https://github.com/gnustep/libs-base.git
synced 2025-04-22 16:33:29 +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
a3e5bc8a51
commit
ba698bab51
2 changed files with 15 additions and 13 deletions
|
@ -21,7 +21,7 @@ extern int xmlGetWarningsDefaultValue;
|
|||
*/
|
||||
static Class NSString_class;
|
||||
static IMP csImp;
|
||||
static SEL csSel = @selector(stringWithCString: );
|
||||
static SEL csSel = @selector(stringWithCString:);
|
||||
|
||||
static BOOL cacheDone = NO;
|
||||
|
||||
|
@ -103,7 +103,7 @@ setupCache()
|
|||
|
||||
- (GSXMLNode*) root
|
||||
{
|
||||
return [GSXMLNode nodeFrom: xmlDocGetRootElement(lib)];
|
||||
return [GSXMLNode nodeFrom: xmlDocGetRootElement(lib)];
|
||||
}
|
||||
|
||||
- (GSXMLNode*) setRoot: (GSXMLNode*)node
|
||||
|
@ -374,7 +374,7 @@ setupCache()
|
|||
|
||||
+ (GSXMLNode*) nodeFrom: (void*)data
|
||||
{
|
||||
return AUTORELEASE([[self alloc] nodeFrom: data]);
|
||||
return AUTORELEASE([[self alloc] initFrom: data]);
|
||||
}
|
||||
|
||||
- (id) initFrom: (void*)data
|
||||
|
@ -786,14 +786,13 @@ setupCache()
|
|||
}
|
||||
if ([src isKindOfClass: [NSData class]])
|
||||
{
|
||||
NSLog(@"parse data length %d", [src length]);
|
||||
NSLog(@"parse data %*s", [src length], [src bytes]);
|
||||
lib = (void*)xmlCreateMemoryParserCtxt((void*)[src bytes], [src length]);
|
||||
if (lib == NULL)
|
||||
{
|
||||
NSLog(@"out of memory");
|
||||
return NO;
|
||||
}
|
||||
lib = (void*)xmlCreateMemoryParserCtxt((void*)[src bytes],
|
||||
[src length]-1);
|
||||
if (lib == NULL)
|
||||
{
|
||||
NSLog(@"out of memory");
|
||||
return NO;
|
||||
}
|
||||
}
|
||||
else if ([src isKindOfClass: [NSString class]])
|
||||
{
|
||||
|
|
|
@ -768,9 +768,12 @@ static id parsePl(pldata* pld)
|
|||
{
|
||||
NSData *data;
|
||||
GSXMLParser *parser;
|
||||
char *buf = NSZoneMalloc(NSDefaultMallocZone(), pld->end+1);
|
||||
|
||||
data = [NSData dataWithBytes: pld->ptr length: pld->end];
|
||||
NSLog(@"Parsing '%*s'", pld->end, pld->ptr);
|
||||
memcpy(buf, pld->ptr, pld->end);
|
||||
buf[pld->end] = '\0';
|
||||
data = [NSData dataWithBytesNoCopy: buf length: pld->end+1];
|
||||
NSLog(@"Parsing '%s'", buf);
|
||||
parser = [GSXMLParser parser: data];
|
||||
if ([parser parse] == YES)
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue