Kaydet (Commit) 970813b0 authored tarafından Xisco Fauli's avatar Xisco Fauli Kaydeden (comit) Noel Grandin

instead of converting from std::string to OUString...

... use OUString directly

Change-Id: Ibdf863d7dbbb578e7fe87eac51e3d773a5b05199
Reviewed-on: https://gerrit.libreoffice.org/20009Reviewed-by: 's avatarNoel Grandin <noelgrandin@gmail.com>
Tested-by: 's avatarNoel Grandin <noelgrandin@gmail.com>
üst da11e337
...@@ -15,7 +15,6 @@ ...@@ -15,7 +15,6 @@
#include <com/sun/star/geometry/AffineMatrix2D.hpp> #include <com/sun/star/geometry/AffineMatrix2D.hpp>
#include <osl/diagnose.h> #include <osl/diagnose.h>
#include <string.h>
#include <limits.h> #include <limits.h>
#include <boost/bind.hpp> #include <boost/bind.hpp>
#include <boost/spirit/include/classic.hpp> #include <boost/spirit/include/classic.hpp>
...@@ -573,22 +572,20 @@ bool parsePaintUri( std::pair<const char*,const char*>& o_rPaintUri, ...@@ -573,22 +572,20 @@ bool parsePaintUri( std::pair<const char*,const char*>& o_rPaintUri,
bool parseXlinkHref( const char* sXlinkHref, std::string& data ) bool parseXlinkHref( const char* sXlinkHref, OUString& data )
{ {
using namespace ::boost::spirit::classic; OUString sLink(OUString::createFromAscii(sXlinkHref));
data.erase(data.begin(),data.end());
std::string sLink(sXlinkHref); if (sLink.startsWith("data:"))
if (!sLink.compare(0,5,"data:"))
{ {
sal_Int32 nIndex=0;
OUString aCurrToken = sLink.getToken(0,',',nIndex);
// the inplace "data" uri // the inplace "data" uri
size_t position = sLink.rfind(','); if ( !aCurrToken.isEmpty() )
if (position > 0 && position < std::string::npos)
{ {
data = sLink.substr(position+1); data = sLink.copy(nIndex);
OSL_TRACE("%s", data.c_str()); SAL_INFO("%s", data);
return true; return true;
} }
} }
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
#include <sal/config.h> #include <sal/config.h>
#include <vector> #include <vector>
#include <utility> #include <utility>
#include <string> #include <rtl/ustring.hxx>
namespace basegfx namespace basegfx
{ {
...@@ -60,7 +60,7 @@ namespace svgi ...@@ -60,7 +60,7 @@ namespace svgi
const char* sPaintUri ); const char* sPaintUri );
/// Parse given string for the xlink attribute /// Parse given string for the xlink attribute
bool parseXlinkHref( const char* xlink, std::string& data ); bool parseXlinkHref( const char* xlink, OUString& data );
} // namespace svgi } // namespace svgi
......
...@@ -44,7 +44,6 @@ ...@@ -44,7 +44,6 @@
#include <boost/bind.hpp> #include <boost/bind.hpp>
#include <map> #include <map>
#include <string.h>
#define OASIS_STR "urn:oasis:names:tc:opendocument:xmlns:" #define OASIS_STR "urn:oasis:names:tc:opendocument:xmlns:"
...@@ -1539,10 +1538,10 @@ struct ShapeWritingVisitor ...@@ -1539,10 +1538,10 @@ struct ShapeWritingVisitor
OUString sValue = xElem->hasAttribute("href") ? xElem->getAttribute("href") : ""; OUString sValue = xElem->hasAttribute("href") ? xElem->getAttribute("href") : "";
OString aValueUtf8( sValue.getStr(), sValue.getLength(), RTL_TEXTENCODING_UTF8 ); OString aValueUtf8( sValue.getStr(), sValue.getLength(), RTL_TEXTENCODING_UTF8 );
std::string sLinkValue; OUString sLinkValue;
parseXlinkHref(aValueUtf8.getStr(), sLinkValue); parseXlinkHref(aValueUtf8.getStr(), sLinkValue);
if (!sLinkValue.empty()) if (!sLinkValue.isEmpty())
writeBinaryData(xAttrs, xUnoAttrs, xElem, basegfx::B2DRange(x,y,x+width,y+height), sLinkValue); writeBinaryData(xAttrs, xUnoAttrs, xElem, basegfx::B2DRange(x,y,x+width,y+height), sLinkValue);
break; break;
} }
...@@ -1642,7 +1641,7 @@ struct ShapeWritingVisitor ...@@ -1642,7 +1641,7 @@ struct ShapeWritingVisitor
const uno::Reference<xml::sax::XAttributeList>& xUnoAttrs, const uno::Reference<xml::sax::XAttributeList>& xUnoAttrs,
const uno::Reference<xml::dom::XElement>& /* xElem */, const uno::Reference<xml::dom::XElement>& /* xElem */,
const basegfx::B2DRange& rShapeBounds, const basegfx::B2DRange& rShapeBounds,
const std::string& data) const OUString& data)
{ {
xAttrs->Clear(); xAttrs->Clear();
xAttrs->AddAttribute( "svg:x", OUString::number(pt2mm(rShapeBounds.getMinX()))+"mm"); xAttrs->AddAttribute( "svg:x", OUString::number(pt2mm(rShapeBounds.getMinX()))+"mm");
...@@ -1657,7 +1656,7 @@ struct ShapeWritingVisitor ...@@ -1657,7 +1656,7 @@ struct ShapeWritingVisitor
mxDocumentHandler->startElement("office:binary-data", xUnoAttrs); mxDocumentHandler->startElement("office:binary-data", xUnoAttrs);
mxDocumentHandler->characters(OUString::createFromAscii(data.c_str())); mxDocumentHandler->characters(data);
mxDocumentHandler->endElement("office:binary-data"); mxDocumentHandler->endElement("office:binary-data");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment