summaryrefslogtreecommitdiff
path: root/svtools
diff options
context:
space:
mode:
authorMarco Cecchetti <marco.cecchetti@collabora.com>2015-08-26 13:50:57 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2015-09-02 07:21:48 +0000
commitf85ed94f46e9f1b15cb42d66380e666ce7ee71ee (patch)
tree5de381aeb3868ce9c95242deeecbc875de6b89a2 /svtools
parent7017ab3559f8298f9afa364171531a10782d8d29 (diff)
tdf#93532 - Switching to 64-bit checksum
Added a C++ and a GLSL implementation of a 64-bit CRC algorithm. Changed hardcoded checksum value in ooxmlimport unit test (testN777345). Change-Id: I16bb985a14866775efda49e21fe033ff64645896 Reviewed-on: https://gerrit.libreoffice.org/18254 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk>
Diffstat (limited to 'svtools')
-rw-r--r--svtools/source/graphic/grfcache.cxx8
1 files changed, 4 insertions, 4 deletions
diff --git a/svtools/source/graphic/grfcache.cxx b/svtools/source/graphic/grfcache.cxx
index 05c1f98c5cf5..28e4ab0a457e 100644
--- a/svtools/source/graphic/grfcache.cxx
+++ b/svtools/source/graphic/grfcache.cxx
@@ -43,7 +43,7 @@ private:
sal_uInt32 mnID1;
sal_uInt32 mnID2;
sal_uInt32 mnID3;
- sal_uInt32 mnID4;
+ BitmapChecksum mnID4;
public:
@@ -79,7 +79,7 @@ GraphicID::GraphicID( const GraphicObject& rObj )
mnID1 |= rSvgDataPtr->getSvgDataArrayLength();
mnID2 = basegfx::fround(rRange.getWidth());
mnID3 = basegfx::fround(rRange.getHeight());
- mnID4 = rtl_crc32(0, rSvgDataPtr->getSvgDataArray().get(), rSvgDataPtr->getSvgDataArrayLength());
+ mnID4 = vcl_get_checksum(0, rSvgDataPtr->getSvgDataArray().get(), rSvgDataPtr->getSvgDataArrayLength());
}
else if( rGraphic.IsAnimated() )
{
@@ -123,7 +123,7 @@ OString GraphicID::GetIDString() const
{
OStringBuffer aHexStr;
sal_Int32 nShift, nIndex = 0;
- aHexStr.setLength(32);
+ aHexStr.setLength(24 + (2 * BITMAP_CHECKSUM_SIZE));
for( nShift = 28; nShift >= 0; nShift -= 4 )
aHexStr[nIndex++] = aHexData[ ( mnID1 >> (sal_uInt32) nShift ) & 0xf ];
@@ -134,7 +134,7 @@ OString GraphicID::GetIDString() const
for( nShift = 28; nShift >= 0; nShift -= 4 )
aHexStr[nIndex++] = aHexData[ ( mnID3 >> (sal_uInt32) nShift ) & 0xf ];
- for( nShift = 28; nShift >= 0; nShift -= 4 )
+ for( nShift = BITMAP_CHECKSUM_BITS - 4; nShift >= 0; nShift -= 4 )
aHexStr[nIndex++] = aHexData[ ( mnID4 >> (sal_uInt32) nShift ) & 0xf ];
return aHexStr.makeStringAndClear();