From c927b22e5254add2dfacdd885d9d50ec5a9eb7b2 Mon Sep 17 00:00:00 2001 From: CaS Date: Thu, 29 Aug 2002 09:18:18 +0000 Subject: [PATCH] Improve error logging. git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@14367 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 5 ++++ Source/Additions/GSXML.m | 61 ++++++++++++++++++++++------------------ 2 files changed, 38 insertions(+), 28 deletions(-) diff --git a/ChangeLog b/ChangeLog index 2aaf29891..5921899b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2002-08-29 Richard Frith-Macdonald + + * Source/Additions/GSXML.m: Get libxml to put filename in error + messages when it is available. + 2002-08-28 Richard Frith-Macdonald * Source/Unicode.m: Rewritten the way that iconv is used to decide diff --git a/Source/Additions/GSXML.m b/Source/Additions/GSXML.m index 6b3be0b06..004dd55a6 100644 --- a/Source/Additions/GSXML.m +++ b/Source/Additions/GSXML.m @@ -1665,17 +1665,14 @@ static NSString *endMarker = @"At end of incremental parse"; - (id) initWithSAXHandler: (GSSAXHandler*)handler withContentsOfFile: (NSString*)path { - self = [self initWithSAXHandler: handler]; - if (self != nil) + if (path == nil || [path isKindOfClass: [NSString class]] == NO) { - if (path == nil || [path isKindOfClass: [NSString class]] == NO) - { - NSLog(@"Bad file path passed to initialize GSXMLParser"); - RELEASE(self); - return nil; - } - src = [path copy]; + NSLog(@"Bad file path passed to initialize GSXMLParser"); + RELEASE(self); + return nil; } + src = [path copy]; + self = [self initWithSAXHandler: handler]; return self; } @@ -1693,17 +1690,14 @@ static NSString *endMarker = @"At end of incremental parse"; - (id) initWithSAXHandler: (GSSAXHandler*)handler withContentsOfURL: (NSURL*)url { - self = [self initWithSAXHandler: handler]; - if (self != nil) + if (url == nil || [url isKindOfClass: [NSURL class]] == NO) { - if (url == nil || [url isKindOfClass: [NSURL class]] == NO) - { - NSLog(@"Bad NSURL passed to initialize GSXMLParser"); - RELEASE(self); - return nil; - } - src = [url copy]; + NSLog(@"Bad NSURL passed to initialize GSXMLParser"); + RELEASE(self); + return nil; } + src = [url copy]; + self = [self initWithSAXHandler: handler]; return self; } @@ -1721,17 +1715,14 @@ static NSString *endMarker = @"At end of incremental parse"; - (id) initWithSAXHandler: (GSSAXHandler*)handler withData: (NSData*)data { - self = [self initWithSAXHandler: handler]; - if (self != nil) + if (data == nil || [data isKindOfClass: [NSData class]] == NO) { - if (data == nil || [data isKindOfClass: [NSData class]] == NO) - { - NSLog(@"Bad NSData passed to initialize GSXMLParser"); - RELEASE(self); - return nil; - } - src = [data copy]; + NSLog(@"Bad NSData passed to initialize GSXMLParser"); + RELEASE(self); + return nil; } + src = [data copy]; + self = [self initWithSAXHandler: handler]; return self; } @@ -1910,7 +1901,21 @@ static NSString *endMarker = @"At end of incremental parse"; - (BOOL) _initLibXML { - lib = (void*)xmlCreatePushParserCtxt([saxHandler lib], NULL, 0, 0, "."); + const char *file; + + if ([src isKindOfClass: [NSString class]]) + { + file = [src lossyCString]; + } + else if ([src isKindOfClass: [NSURL class]]) + { + file = [[src absoluteString] lossyCString]; + } + else + { + file = "."; + } + lib = (void*)xmlCreatePushParserCtxt([saxHandler lib], NULL, 0, 0, file); if (lib == NULL) { NSLog(@"Failed to create libxml parser context");