summaryrefslogtreecommitdiff
path: root/tools/source/zcodec
AgeCommit message (Collapse)Author
2022-06-18cid#1506306 Uninitialized scalar fieldCaolán McNamara
Change-Id: I2daf370dc68dff19f1be538744d7241c080d8149 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/136077 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com>
2022-06-12Add compression support for GZ through ZCodecofftkp
ZCodec uses zlib to deflate. That file has code to allow for compressing to GZ but it's wrapped in defines. There's places in code where there's need for zlib headers (ie. svx/source/gallery2/codec.cxx:71) and there will be need for gz header compression when EMZ/WMZ/SVGZ export support is added. Made compression functions care about mbGzLib bool. Also added a SetCompressionMetadata function to set metadata which are otherwise impossible to know (such as filename, which is needed in the header) Change-Id: Ic01050262b0b15e0632564b139c66656afac4611 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135213 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2022-05-06tdf#103954: Z compressed graphic formats support for EMF/WMFofftkp
- Added .emz and .wmz file opening support - Added a function to check for Z compression that all z comp. formats can use - Added 3 unit tests for emf/emz/wmz files and the example files have been checked with a different tool (File Viewer 4) - emf/emz file detection changed from magic byte checking to extension checking, like wmf/wmz does Change-Id: I3e433fd23d18482648a51cd04b8f467368e97b62 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/132456 Tested-by: Jenkins Reviewed-by: Tomaž Vajngerl <quikee@gmail.com>
2021-08-05Avoid ODR violation, consistently define ZLIB_CONSTStephan Bergmann
At least my --enable-lto --enable-mergelibs build diagnosed > [build LNK] Library/libmergedlo.so > workdir/UnpackedTarball/zlib/zlib.h:86:16: warning: type ‘struct z_stream_s’ violates the C++ One Definition Rule [-Wodr] > 86 | typedef struct z_stream_s { > | ^ > workdir/UnpackedTarball/zlib/zlib.h:86: note: a different type is defined in another translation unit > 86 | typedef struct z_stream_s { > | > workdir/UnpackedTarball/zlib/zlib.h:87:20: note: the first difference of corresponding definitions is field ‘next_in’ > 87 | z_const Bytef *next_in; /* next input byte */ > | ^ > workdir/UnpackedTarball/zlib/zlib.h:87: note: a field of same name but different type is defined in another translation unit > 87 | z_const Bytef *next_in; /* next input byte */ > | (And ZLIB_CONST then required a small adaption in tools/source/zcodec/zcodec.cxx, plus some loplugin:redundantcast. And gb_PrecompiledHeader_ignore_flags_system had to be updated to avoid errors like > Error reusing pch/inc/pch/precompiled_system by Library_wpftdraw. > precompiled header flags : -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_MEM_FN_ENABLE_CDECL -DBOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE -DBOOST_SYSTEM_NO_DEPRECATED -DCPPU_ENV=msci -DDBG_UTIL -DEXCEPTIONS_ON -DINTEL -DNOMINMAX -DOSL_DEBUG_LEVEL=1 -DPCH_LEVEL=4 -DSAL_LOG_INFO -DSAL_LOG_WARN -DWIN32 -DWNT -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -D_CRT_SECURE_NO_DEPRECATE -D_DEBUG -D_DLL -D_HAS_AUTO_PTR_ETC -D_MT -D_REENTRANT -D_SCL_SECURE_NO_WARNINGS -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING -D_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING -D_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING -D_WIN32_WINNT=0x0601 -D_X86_=1 -EHs -GR -GS -Gd -Gs -Gy -MDd -Od -W4 -Wv:18 -Zc:__cplusplus -Zm500 -bigobj -nologo -permissive- -std:c++17 -utf-8 -wd4127 -wd4201 -wd4244 -wd4250 -wd4251 -wd4267 -wd4275 -wd4505 -wd4611 -wd4706 > object flags : -DBOOST_ALL_NO_LIB -DBOOST_ERROR_CODE_HEADER_ONLY -DBOOST_MEM_FN_ENABLE_CDECL -DBOOST_OPTIONAL_USE_OLD_DEFINITION_OF_NONE -DBOOST_SYSTEM_NO_DEPRECATED -DCPPU_ENV=msci -DDBG_UTIL -DEXCEPTIONS_ON -DINTEL -DNOMINMAX -DOSL_DEBUG_LEVEL=1 -DPCH_LEVEL=4 -DSAL_LOG_INFO -DSAL_LOG_WARN -DWIN32 -DWNT -DZLIB_CONST -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NON_CONFORMING_SWPRINTFS -D_CRT_SECURE_NO_DEPRECATE -D_DEBUG -D_DLL -D_HAS_AUTO_PTR_ETC -D_MT -D_REENTRANT -D_SCL_SECURE_NO_WARNINGS -D_SILENCE_CXX17_CODECVT_HEADER_DEPRECATION_WARNING -D_SILENCE_CXX17_OLD_ALLOCATOR_MEMBERS_DEPRECATION_WARNING -D_SILENCE_CXX17_RESULT_OF_DEPRECATION_WARNING -D_WIN32_WINNT=0x0601 -D_X86_=1 -EHs -GR -GS -Gd -Gs -Gy -MDd -Od -W4 -Wv:18 -Zc:__cplusplus -Zm500 -bigobj -nologo -permissive- -std:c++17 -utf-8 -wd4127 -wd4201 -wd4244 -wd4250 -wd4251 -wd4267 -wd4275 -wd4505 -wd4611 -wd4706 > reason : -DZLIB_CONST -DZLIB_CONST > Incorrect precompiled header setup or internal gbuild error. > make[1]: *** [C:/cygwin/home/tdf/jenkins/workspace/gerrit_windows/writerperfect/Library_wpftdraw.mk:31: C:/cygwin/home/tdf/jenkins/workspace/gerrit_windows/workdir/PrecompiledHeader/nodebug/Timestamps/Library_wpftdraw_reuse] Error 1 with --enable-pch.) Change-Id: Iadd3c90a65993ebef98190458762b1c86d425c4d Reviewed-on: https://gerrit.libreoffice.org/c/core/+/119961 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2021-05-11fix leak in ZCodecNoel Grandin
Change-Id: Ifec23a2e83a4327d954a9978ee3885a1f0889d6a Reviewed-on: https://gerrit.libreoffice.org/c/core/+/115377 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-03-14loplugin:unusedmethodsNoel
Change-Id: I851eba4ca80eac9ee5896df53fbcd0f5ad125763 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/112433 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-19add tools::Long typedef and use it in toolsNoel
first step to switching long to a 64-bit type on 64-bit windows Change-Id: I640d807426dfe713c7a8984ef560575f8288dbeb Reviewed-on: https://gerrit.libreoffice.org/c/core/+/104516 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-10-04loplugin:reducevarscope in toolkit..unotoolsNoel
Change-Id: I439b9f456ac0bfaa3eb9bf17472053bd4787e828 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/103840 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-07-02Upcoming improved loplugin:staticanonymous -> redundantstatic: toolsStephan Bergmann
Change-Id: I832fbcde277a87ab873ce3477a6886c7002e24ad Reviewed-on: https://gerrit.libreoffice.org/c/core/+/97709 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2020-04-17loplugin:buriedassign in tools..xmloffNoel Grandin
Change-Id: I31df6c4fd82c6f6d15bbe5228e92e5171cacba51 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92410 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2020-02-21tdf#75280: Convert inappropriate use of sal_uIntPtr to better integer typesCanberk TURAN
I fixed if-conditons in UnoGraphicExporter.cxx and I deleted extra slash character at start of zcodec.cxx file. Change-Id: I464e7b0dcbfe835d04c5031bfbd6e46bccbb1216 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/87470 Tested-by: Jenkins Reviewed-by: Michael Stahl <michael.stahl@cib.de>
2019-10-11ofz#14989 Z_NEED_DICT related infinite loopCaolán McNamara
Change-Id: I31c0d004d717564063c36862f9eef661d18768a9 Reviewed-on: https://gerrit.libreoffice.org/80648 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-10-11drop PZSTREAM defineCaolán McNamara
Change-Id: Ia0ac30fc8441f446977270c96dd2430647dfa2d7 Reviewed-on: https://gerrit.libreoffice.org/80647 Tested-by: Jenkins Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2019-09-18remove unused crc functionality from ZCodecNoel Grandin
Change-Id: I3e57e815b538ad5749b4bab3d4ef8e295cbe116b Reviewed-on: https://gerrit.libreoffice.org/79098 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-04-30tdf#42949 Fix IWYU warnings in tools/Gabor Kelemen
Found with bin/find-unneeded-includes Only removal proposals are dealt with here. Change-Id: I47974f5c24819eb60e6724f42d51bb206dc26d21 Reviewed-on: https://gerrit.libreoffice.org/71557 Tested-by: Jenkins Reviewed-by: Miklos Vajna <vmiklos@collabora.com>
2019-03-06loplugin:unnecessaryparen improve member expressionNoel Grandin
Change-Id: I304621018cb1e2a47e478e86df4229bcf2176741 Reviewed-on: https://gerrit.libreoffice.org/68757 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-17Missing includes (Windows --disable-pch)Stephan Bergmann
Change-Id: I5cd3297cff31b88c53cd04232bed40cbf04fa2f6 Reviewed-on: https://gerrit.libreoffice.org/48028 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
2018-01-15convert a<b?a:b to std::min(a,b)Noel Grandin
with something like git grep -nP '(.*)\s*<\s*(.*)\s*\?\s*\g1\s*:\s*\g2' -- *.?xx Change-Id: Id5078b35961847feb78a66204fdb7598ee63fd23 Note: we also convert a>b?b:a Reviewed-on: https://gerrit.libreoffice.org/47736 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-01-12More loplugin:cstylecast: toolsStephan Bergmann
auto-rewrite with <https://gerrit.libreoffice.org/#/c/47798/> "Enable loplugin:cstylecast for some more cases" plus solenv/clang-format/reformat-formatted-files Change-Id: Ifb9ebc9623c8df14ea0d4c907001bd16c5b9ae59
2017-12-21new loplugin: convertlongNoel Grandin
merge the droplong and convertuintptr into one new plugin. Limit the analysis to looking at var decl's, since that seems to be safest proposition, even if that too needs some careful analysis. Change-Id: Id005baaf05cfb157ce44a06a1c81f08559a07d1f Reviewed-on: https://gerrit.libreoffice.org/46851 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-13sal_uIntPtr->size_t in ZCodecNoel Grandin
to match the underlying fields Change-Id: I79ce52b80e2589b3194616b3d43846cdefd7adae Reviewed-on: https://gerrit.libreoffice.org/46349 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-22drop duplicate methodCaolán McNamara
Change-Id: Idadd0a64e41cd02f5167b275081c3576a6224b12 Reviewed-on: https://gerrit.libreoffice.org/45075 Reviewed-by: Caolán McNamara <caolanm@redhat.com> Tested-by: Caolán McNamara <caolanm@redhat.com>
2017-10-25loplugin:constmethod in tools,sax,UnoControlsNoel Grandin
Change-Id: Ie05e44e2a4019e2549843961ebfa04fef7b7aeb4 Reviewed-on: https://gerrit.libreoffice.org/43767 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-03-01ofz: Z_NEED_DICT is unsupportedCaolán McNamara
Change-Id: Ib0945d5a4606915aff9ee3019203caaf2a3cc7c5
2016-10-07don't call inflateEnd if inflateInit failedDavid Tardon
This fixes the following valgrind message: ==12572== Conditional jump or move depends on uninitialised value(s) ==12572== at 0x1505C89C: inflateEnd (inflate.c:1258) ==12572== by 0xD17644D: ZCodec::EndCompression() (zcodec.cxx:106) ==12572== by 0xD17724E: ZCodec::AttemptDecompression(SvStream&, SvStream&) (zcodec.cxx:405) ==12572== by 0x5F17020A: PlainTextFilterDetect::detect(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&) (filterdetect.cxx:157) ==12572== by 0x3C3F098C: filter::config::TypeDetection::impl_askDetectService(rtl::OUString const&, utl::MediaDescriptor&) (typedetection.cxx:1040) ==12572== by 0x3C3F0449: filter::config::TypeDetection::impl_detectTypeFlatAndDeep(utl::MediaDescriptor&, std::__debug::list<filter::config::FlatDetectionInfo, std::allocator<filter::config::FlatDetectionInfo> > const&, bool, std::__debug::vector<rtl::OUString, std::allocator<rtl::OUString> >&, rtl::OUString&) (typedetection.cxx:946) ==12572== by 0x3C3ED6A1: filter::config::TypeDetection::queryTypeByDescriptor(com::sun::star::uno::Sequence<com::sun::star::beans::PropertyValue>&, unsigned char) (typedetection.cxx:427) ==12572== by 0x49B232CF: OwnView_Impl::GetFilterNameFromExtentionAndInStream(com::sun::star::uno::Reference<com::sun::star::lang::XMultiServiceFactory> const&, rtl::OUString const&, com::sun::star::uno::Reference<com::sun::star::io::XInputStream> const&) (ownview.cxx:219) ==12572== by 0x49B011EB: OleEmbeddedObject::TryToConvertToOOo() (oleembed.cxx:268) ==12572== by 0x49B03AD1: OleEmbeddedObject::doVerb(int) (oleembed.cxx:837) ==12572== by 0x9F5C353: SfxInPlaceClient::DoVerb(long) (ipclient.cxx:946) ==12572== by 0x402D395A: SwWrtShell::LaunchOLEObj(long) (wrtsh1.cxx:588) ==12572== Change-Id: I51c0fbdc185897c60f6c0099b96c6ca9c25a35ba
2016-07-13loplugin:constparams in toolsNoel Grandin
Change-Id: Iea05efbb90a0a95fefd18ae9673095a31422f06c Reviewed-on: https://gerrit.libreoffice.org/27137 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-27tdf#75280 Cleaning up of sal_uIntPtr usage #1atymyjan
Change-Id: Ief2cc6ab03316c2530d386d662db21ca1c9ddb30 Reviewed-on: https://gerrit.libreoffice.org/25898 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-06-06tools: rename SvStream::Read/Write to ReadBytes/WriteBytesMichael Stahl
Change-Id: Ib788a30d413436aa03f813aa2fddcbc4d6cd2f9a Reviewed-on: https://gerrit.libreoffice.org/25972 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Michael Stahl <mstahl@redhat.com>
2016-05-13clang-tidy modernize-loop-convert in toolkit to uuiNoel Grandin
Change-Id: I805aa1389ef8dde158f0b776d6b59579fa3082e4 Reviewed-on: https://gerrit.libreoffice.org/24921 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-17loplugin:constantparam in toolsNoel Grandin
Change-Id: I3774661799c074561c694515baba42a375d0a077 Reviewed-on: https://gerrit.libreoffice.org/23301 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-15loplugin:unusedmethods unused return value in include/toolsNoel Grandin
Change-Id: I77a6a46ca20cb41ed73050185fb2064a1bbf2009 Reviewed-on: https://gerrit.libreoffice.org/21485 Reviewed-by: Noel Grandin <noelgrandin@gmail.com> Tested-by: Noel Grandin <noelgrandin@gmail.com>
2016-01-07Avoid memory leaks upon (de)compression failureStephan Bergmann
This e.g. reduces the LSan-reported leakage during CppunitTest_sd_filters_test from SUMMARY: AddressSanitizer: 504104 byte(s) leaked in 4654 allocation(s). to SUMMARY: AddressSanitizer: 115048 byte(s) leaked in 4639 allocation(s). Change-Id: If922e872d9f696847face198e082144ccd5f12de
2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann
Change-Id: Ia5acfb564f913d52cd25b5d64d06b5280b94cb72
2015-09-21valgrind: use of uninit data in sw_globalfilter testCaolán McNamara
Change-Id: I4d327d1e65c8ef5b9dede18ac55f1658d8e3569a
2015-07-07-1 -> Z_ERRNO for clarityCaolán McNamara
Change-Id: I29aa8531646f416a72b89f7571b757c39705c31a
2015-07-06only inflate if status from InitDecompress is goodCaolán McNamara
Change-Id: Ief207205b3f05dd0ed92a2d1d30e265cbdb914e3
2015-06-08loplugin:cstylecast: deal with remaining pointer castsStephan Bergmann
Change-Id: Iedee28da32a4333a414e06877f87851345bb4e9b
2015-04-27enhancement : tdf#90225 Cannot open compressed csv files from calcDennis Francis
Change-Id: I5098fd25f1747b49e47e360f017ee1112a242771 Reviewed-on: https://gerrit.libreoffice.org/15108 Reviewed-by: Kohei Yoshida <libreoffice@kohei.us> Tested-by: Kohei Yoshida <libreoffice@kohei.us>
2015-04-24loplugin:simplifyboolStephan Bergmann
Change-Id: Id1c743da4294b667438a2c075de4634bb2c85ff3
2015-03-28Clean up C-style casts from pointers to voidStephan Bergmann
Change-Id: Ife048a705e899870a8b1d9987b109d5c0cd80599
2015-03-26const_cast: convert some C-style casts and remove some redundant onesStephan Bergmann
Change-Id: I5493b2337dad102a4b22c6a6d646b4b0fd04e247
2014-11-11There are three positive return codes from inflateCaolán McNamara
#define Z_OK 0 #define Z_STREAM_END 1 #define Z_NEED_DICT 2 and we don't support dictionaries, so a Z_NEED_DICT return creates an infinite loop Change-Id: Iafb1da594962b3cb456a3223cc6d4122791718c5
2014-06-09loplugin: inlinesimplememberfunctionsNoel Grandin
Change-Id: I42119f656ca528286fb25d2d36c0af54b7d04a6b
2014-05-21So ZCodec::ReadAsynchron was wrong in using a persistent mpIStm after allStephan Bergmann
The fun thing is that with the (only) call-site to ReadAsynchron in PNGReaderImpl::ImplReadIDAT (vcl/source/gdi/pngread.cxx) passing in rIStm references to stack-allocated SvMemoryStream instances, mpIStm could point to an old, destroyed instance from a previous call, but which would have been located at exactly the same stack address as the currently passed in rIStm, so the wrong mpIStm->Read call would effectively behaved exactly the same as a correct rIStm.Read call. This went unnoticed "since the beginning" until AddressSanitizer's UseAfterReturn check came along... Change-Id: I7c75ed2d36a4c24c111d88eff647816bd2c5dbca
2014-05-21ZCodec::mpIStm is apparently(?) effectively only used by ReadAsynchronStephan Bergmann
...(which can be called multiple times in a row). But which actually looks wrong... Change-Id: I2e4914e6fed8ced383e430699dd462add9da8c08
2014-05-21Split ZCodec::ImplInitBuf into InitCompress, InitDecompressStephan Bergmann
Change-Id: I2714b1f1dadc74f8501203bc8b0722c56c9c5fb9
2014-05-21Add assertionStephan Bergmann
Change-Id: Ibe2f5f4ad52510247fb4134f433bba4b737d9c33
2014-05-21Replace ZCodec::mbInit with sane enumStephan Bergmann
...and document how the member functions are supposed to be called from client code. Change-Id: Ia4847945e4a361c43a0ed001e3e78e901c9abcad
2014-05-21ZCodec::UpdateCRC is privateStephan Bergmann
Change-Id: I2103f8a323d0454bdd1c779aadb99889ae1cf6e5
2014-05-21Split ZCodec::BeginCompression param into its 3 independent componentsStephan Bergmann
Change-Id: I275abafe81c8bb617c70646244b14f6cecc33854