diff --git a/comphelper/source/xml/xmltools.cxx b/comphelper/source/xml/xmltools.cxx index b1fcc6a5b59a..ace7d2661e3b 100644 --- a/comphelper/source/xml/xmltools.cxx +++ b/comphelper/source/xml/xmltools.cxx @@ -9,6 +9,7 @@ #include #include +#include #include using namespace com::sun::star; @@ -91,6 +92,19 @@ namespace comphelper return OString(reinterpret_cast(&aChaff[0]), nLength); } + + OString generateGUIDString() + { + sal_uInt8 aSeq[16]; + rtl_createUuid(aSeq, nullptr, true); + + char str[39]; + sprintf(str, "{%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X}", + aSeq[0], aSeq[1], aSeq[2], aSeq[3], aSeq[4], aSeq[5], aSeq[6], aSeq[7], aSeq[8], + aSeq[9], aSeq[10], aSeq[11], aSeq[12], aSeq[13], aSeq[14], aSeq[15]); + + return OString(str, SAL_N_ELEMENTS(str)); + } } } /* vim:set shiftwidth=4 softtabstop=4 expandtab: */ diff --git a/include/comphelper/xmltools.hxx b/include/comphelper/xmltools.hxx index 5f5bec9b94ad..85915ec47f9a 100644 --- a/include/comphelper/xmltools.hxx +++ b/include/comphelper/xmltools.hxx @@ -20,6 +20,8 @@ namespace comphelper namespace xml { COMPHELPER_DLLPUBLIC OString makeXMLChaff(); + COMPHELPER_DLLPUBLIC OString generateGUIDString(); + } } diff --git a/include/oox/export/drawingml.hxx b/include/oox/export/drawingml.hxx index 276e18d0bcc2..69d1d6657fad 100644 --- a/include/oox/export/drawingml.hxx +++ b/include/oox/export/drawingml.hxx @@ -230,8 +230,6 @@ public: static void ResetCounters(); - static OString GetUUID(); - static sal_Unicode SubstituteBullet( sal_Unicode cBulletId, css::awt::FontDescriptor& rFontDesc ); static sal_uInt32 ColorWithIntensity( sal_uInt32 nColor, sal_uInt32 nIntensity ); diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index eb19a286e587..f500036e1282 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -76,6 +76,7 @@ #include #include +#include #include #include #include @@ -1757,22 +1758,6 @@ OUString DrawingML::GetFieldValue( const css::uno::Reference< css::text::XTextRa return aFieldValue; } -OString DrawingML::GetUUID() -{ - sal_uInt8 aSeq[16]; - rtl_createUuid(aSeq, nullptr, true); - - char str[39]; - sprintf(str, "{%02X%02X%02X%02X-%02X%02X-%02X%02X-%02X%02X-%02X%02X%02X%02X%02X%02X}", - aSeq[0], aSeq[1], aSeq[2], aSeq[3], - aSeq[4], aSeq[5], - aSeq[6], aSeq[7], - aSeq[8], aSeq[9], - aSeq[10], aSeq[11], aSeq[12], aSeq[13], aSeq[14], aSeq[15]); - - return OString(str, SAL_N_ELEMENTS(str)); -} - void DrawingML::WriteRun( const Reference< XTextRange >& rRun, bool& rbOverridingCharHeight, sal_Int32& rnCharHeight) { @@ -1822,7 +1807,7 @@ void DrawingML::WriteRun( const Reference< XTextRange >& rRun, { if( bWriteField ) { - OString sUUID(GetUUID()); + OString sUUID(comphelper::xml::generateGUIDString()); mpFS->startElementNS( XML_a, XML_fld, XML_id, sUUID.getStr(), XML_type, OUStringToOString( sFieldValue, RTL_TEXTENCODING_UTF8 ).getStr(), diff --git a/oox/source/ole/vbaexport.cxx b/oox/source/ole/vbaexport.cxx index cd26bf486615..4aeff993b926 100644 --- a/oox/source/ole/vbaexport.cxx +++ b/oox/source/ole/vbaexport.cxx @@ -31,9 +31,8 @@ #include -#include - #include +#include #define USE_UTF8_CODEPAGE 0 #if USE_UTF8_CODEPAGE @@ -88,28 +87,6 @@ OUString createHexStringFromDigit(sal_uInt8 nDigit) return aString.toAsciiUpperCase(); } -OUString createGuidStringFromInt(sal_uInt8 const nGuid[16]) -{ - OUStringBuffer aBuffer; - aBuffer.append('{'); - for(size_t i = 0; i < 16; ++i) - { - aBuffer.append(createHexStringFromDigit(nGuid[i])); - if(i == 3|| i == 5 || i == 7 || i == 9 ) - aBuffer.append('-'); - } - aBuffer.append('}'); - OUString aString = aBuffer.makeStringAndClear(); - return aString.toAsciiUpperCase(); -} - -OUString generateGUIDString() -{ - sal_uInt8 nGuid[16]; - rtl_createUuid(nGuid, nullptr, true); - return createGuidStringFromInt(nGuid); -} - } VBACompressionChunk::VBACompressionChunk(SvStream& rCompressedStream, const sal_uInt8* pData, std::size_t nChunkSize) @@ -877,7 +854,8 @@ void exportPROJECTStream(SvStream& rStrm, const css::uno::Reference