| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Peter Kelly (pmk@post.com) | 2 * Copyright (C) 2000 Peter Kelly (pmk@post.com) |
| 3 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. | 3 * Copyright (C) 2005, 2006, 2008 Apple Inc. All rights reserved. |
| 4 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) | 4 * Copyright (C) 2006 Alexey Proskuryakov (ap@webkit.org) |
| 5 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) | 5 * Copyright (C) 2007 Samuel Weinig (sam@webkit.org) |
| 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) | 6 * Copyright (C) 2008 Nokia Corporation and/or its subsidiary(-ies) |
| 7 * Copyright (C) 2008 Holger Hans Peter Freyther | 7 * Copyright (C) 2008 Holger Hans Peter Freyther |
| 8 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 8 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 1085 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1096 if (!m_leafTextNode) | 1096 if (!m_leafTextNode) |
| 1097 enterText(); | 1097 enterText(); |
| 1098 m_bufferedText.append(chars, length); | 1098 m_bufferedText.append(chars, length); |
| 1099 } | 1099 } |
| 1100 | 1100 |
| 1101 void XMLDocumentParser::error(XMLErrors::ErrorType type, const char* message, va
_list args) | 1101 void XMLDocumentParser::error(XMLErrors::ErrorType type, const char* message, va
_list args) |
| 1102 { | 1102 { |
| 1103 if (isStopped()) | 1103 if (isStopped()) |
| 1104 return; | 1104 return; |
| 1105 | 1105 |
| 1106 #if HAVE(VASPRINTF) | |
| 1107 char* formattedMessage; | |
| 1108 if (vasprintf(&formattedMessage, message, args) == -1) | |
| 1109 return; | |
| 1110 #else | |
| 1111 char formattedMessage[1024]; | 1106 char formattedMessage[1024]; |
| 1112 vsnprintf(formattedMessage, sizeof(formattedMessage) - 1, message, args); | 1107 vsnprintf(formattedMessage, sizeof(formattedMessage) - 1, message, args); |
| 1113 #endif | |
| 1114 | 1108 |
| 1115 if (m_parserPaused) { | 1109 if (m_parserPaused) { |
| 1116 m_pendingCallbacks.append(adoptPtr(new PendingErrorCallback(type, reinte
rpret_cast<const xmlChar*>(formattedMessage), lineNumber(), columnNumber()))); | 1110 m_pendingCallbacks.append(adoptPtr(new PendingErrorCallback(type, reinte
rpret_cast<const xmlChar*>(formattedMessage), lineNumber(), columnNumber()))); |
| 1117 #if HAVE(VASPRINTF) | |
| 1118 free(formattedMessage); | |
| 1119 #endif | |
| 1120 return; | 1111 return; |
| 1121 } | 1112 } |
| 1122 | 1113 |
| 1123 handleError(type, formattedMessage, textPosition()); | 1114 handleError(type, formattedMessage, textPosition()); |
| 1124 | |
| 1125 #if HAVE(VASPRINTF) | |
| 1126 free(formattedMessage); | |
| 1127 #endif | |
| 1128 } | 1115 } |
| 1129 | 1116 |
| 1130 void XMLDocumentParser::processingInstruction(const String& target, const String
& data) | 1117 void XMLDocumentParser::processingInstruction(const String& target, const String
& data) |
| 1131 { | 1118 { |
| 1132 if (isStopped()) | 1119 if (isStopped()) |
| 1133 return; | 1120 return; |
| 1134 | 1121 |
| 1135 if (m_parserPaused) { | 1122 if (m_parserPaused) { |
| 1136 m_pendingCallbacks.append(adoptPtr(new PendingProcessingInstructionCallb
ack(target ,data))); | 1123 m_pendingCallbacks.append(adoptPtr(new PendingProcessingInstructionCallb
ack(target ,data))); |
| 1137 return; | 1124 return; |
| (...skipping 494 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1632 sax.initialized = XML_SAX2_MAGIC; | 1619 sax.initialized = XML_SAX2_MAGIC; |
| 1633 RefPtr<XMLParserContext> parser = XMLParserContext::createStringParser(&sax,
&state); | 1620 RefPtr<XMLParserContext> parser = XMLParserContext::createStringParser(&sax,
&state); |
| 1634 String parseString = "<?xml version=\"1.0\"?><attrs " + string + " />"; | 1621 String parseString = "<?xml version=\"1.0\"?><attrs " + string + " />"; |
| 1635 parseChunk(parser->context(), parseString); | 1622 parseChunk(parser->context(), parseString); |
| 1636 finishParsing(parser->context()); | 1623 finishParsing(parser->context()); |
| 1637 attrsOK = state.gotAttributes; | 1624 attrsOK = state.gotAttributes; |
| 1638 return state.attributes; | 1625 return state.attributes; |
| 1639 } | 1626 } |
| 1640 | 1627 |
| 1641 } // namespace WebCore | 1628 } // namespace WebCore |
| OLD | NEW |