@@ -278,11 +278,12 @@ { size_t len; if (finishedParsing && buf[*i] != ' ' && buf[*i] != '\t' && buf[*i] != '\n' && buf[*i] != '\r' && buf[*i] != '<') - @throw [OFMalformedXMLException newWithClass: isa]; + @throw [OFMalformedXMLException newWithClass: isa + parser: self]; if (buf[*i] != '<') return; if ((len = *i - *last) > 0) @@ -317,11 +318,12 @@ - (void)_parseTagOpenedWithBuffer: (const char*)buf i: (size_t*)i last: (size_t*)last { if (finishedParsing && buf[*i] != '!') - @throw [OFMalformedXMLException newWithClass: isa]; + @throw [OFMalformedXMLException newWithClass: isa + parser: self]; switch (buf[*i]) { case '?': *last = *i + 1; state = OF_XMLPARSER_IN_PROCESSING_INSTRUCTIONS; @@ -503,11 +505,12 @@ name = [cache copy]; prefix = nil; } if (![[previous lastObject] isEqual: cache]) - @throw [OFMalformedXMLException newWithClass: isa]; + @throw [OFMalformedXMLException newWithClass: isa + parser: self]; [previous removeNObjects: 1]; [cache setToCString: ""]; @@ -670,11 +673,12 @@ if (buf[*i] == ' ' || buf[*i] == '\t' || buf[*i] == '\n' || buf[*i] == '\r') return; if (buf[*i] != '\'' && buf[*i] != '"') - @throw [OFMalformedXMLException newWithClass: isa]; + @throw [OFMalformedXMLException newWithClass: isa + parser: self]; delim = buf[*i]; state = OF_XMLPARSER_IN_ATTR_VALUE; } @@ -729,11 +733,12 @@ { if (buf[*i] == '>') { *last = *i + 1; state = OF_XMLPARSER_OUTSIDE_TAG; } else - @throw [OFMalformedXMLException newWithClass: isa]; + @throw [OFMalformedXMLException newWithClass: isa + parser: self]; } /* Expecting closing '>' or space */ - (void)_parseExpectSpaceOrCloseWithBuffer: (const char*)buf i: (size_t*)i @@ -742,20 +747,22 @@ if (buf[*i] == '>') { *last = *i + 1; state = OF_XMLPARSER_OUTSIDE_TAG; } else if (buf[*i] != ' ' && buf[*i] != '\t' && buf[*i] != '\n' && buf[*i] != '\r') - @throw [OFMalformedXMLException newWithClass: isa]; + @throw [OFMalformedXMLException newWithClass: isa + parser: self]; } /* In ') - @throw [OFMalformedXMLException newWithClass: isa]; + @throw [OFMalformedXMLException newWithClass: isa + parser: self]; pool = [[OFAutoreleasePool alloc] init]; [cache appendCStringWithoutUTF8Checking: buf + *last length: *i - *last]; @@ -922,11 +933,12 @@ last: (size_t*)last { if ((level < 6 && buf[*i] != "OCTYPE"[level]) || (level == 6 && buf[*i] != ' ' && buf[*i] != '\t' && buf[*i] != '\n' && buf[*i] != '\r')) - @throw [OFMalformedXMLException newWithClass: isa]; + @throw [OFMalformedXMLException newWithClass: isa + parser: self]; if (level < 7 || buf[*i] == '<') level++; if (buf[*i] == '>') {