From e73da40c35672f34ad77beee0c9fcd4761fab108 Mon Sep 17 00:00:00 2001 From: reed Date: Wed, 4 Feb 2015 18:29:27 -0800 Subject: add length parameter to addText, to match attr values BUG=skia:3392 Review URL: https://codereview.chromium.org/896363002 --- src/xml/SkXMLWriter.cpp | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) (limited to 'src/xml') diff --git a/src/xml/SkXMLWriter.cpp b/src/xml/SkXMLWriter.cpp index 56e0889388..62e96687fe 100644 --- a/src/xml/SkXMLWriter.cpp +++ b/src/xml/SkXMLWriter.cpp @@ -1,4 +1,3 @@ - /* * Copyright 2006 The Android Open Source Project * @@ -6,7 +5,6 @@ * found in the LICENSE file. */ - #include "SkXMLWriter.h" #include "SkStream.h" @@ -51,14 +49,13 @@ void SkXMLWriter::addScalarAttribute(const char name[], SkScalar value) this->addAttribute(name, tmp.c_str()); } -void SkXMLWriter::addText(const char text[]) -{ +void SkXMLWriter::addText(const char text[], size_t length) { if (fElems.isEmpty()) { return; } - - this->onAddText(text); - + + this->onAddText(text, length); + fElems.top()->fHasText = true; } @@ -229,8 +226,7 @@ void SkXMLStreamWriter::onAddAttributeLen(const char name[], const char value[], fStream.writeText("\""); } -void SkXMLStreamWriter::onAddText(const char text[]) -{ +void SkXMLStreamWriter::onAddText(const char text[], size_t length) { Elem* elem = fElems.top(); if (!elem->fHasChildren && !elem->fHasText) { @@ -239,7 +235,7 @@ void SkXMLStreamWriter::onAddText(const char text[]) } tab(fStream, fElems.count() + 1); - fStream.writeText(text); + fStream.write(text, length); fStream.newline(); } @@ -302,9 +298,8 @@ void SkXMLParserWriter::onAddAttributeLen(const char name[], const char value[], fParser.addAttribute(name, str.c_str()); } -void SkXMLParserWriter::onAddText(const char text[]) -{ - fParser.text(text, SkToInt(strlen(text))); +void SkXMLParserWriter::onAddText(const char text[], size_t length) { + fParser.text(text, SkToInt(length)); } void SkXMLParserWriter::onEndElement() -- cgit v1.2.3