Commit Graph
32 Commits
Author SHA1 Message Date
Xisco Fauli 85baadc11d related tdf#137308: remove unused InflateZstd
If needed, this patch can be revered later on

Change-Id: I83ce659bbd0070fd3f42e2961e9cf8a11db8dc40
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/204594
Tested-by: Jenkins
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
2026-04-30 12:30:31 +02:00
Noel Grandin 0caf06c8fa remove some dead stuff in package
ever since
    commit b410749d30
    Author: Akshay Kumar Dubey <akshaymani513@gmail.com>
    Date:   Wed Apr 16 02:05:16 2025 +0530
    tdf#137308 - Add zstd build support and decompression classes

Change-Id: Ib67a2ef523ce6596b562633b0da081ba56d3ff6f
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/185411
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-05-16 15:45:41 +02:00
Akshay Kumar Dubey b410749d30 tdf#137308 - Add zstd build support and decompression classes
Integrate build system support for the Zstandard (zstd) library and
implement the corresponding C++ decompression stream classes, enabling
future use of zstd-compressed streams in ZIP packages.

Build System (Part 2a):
- Add `--with-system-zstd=[yes|no|auto]` configure option.
- Implement system library checks (`zstd.h`, `libzstd`) in configure.ac.
- Define rules (`external/zstd/*`) for downloading and building the
  internal zstd static library (decompression components only).
- Set up necessary CFLAGS/LIBS via configure.ac and config_host.mk.in.
- Configure linking via RepositoryExternal.mk (`gb_LinkTarget__use_zstd`).
- Update auxiliary files (download.lst, distro-configs, etc.).

C++ Implementation (Part 2b):
- Implement `InflateZstd` (in `include/package`) and `InflaterBytesZstd`
  (in `package/inc`) inheriting from `Inflater`/`InflaterBytes`.
- Use the zstd streaming API (`ZSTD_decompressStream`) following the
  existing single-call pattern established by the zlib implementation.
- Manage context (`ZSTD_DCtx`) and input buffer (`ZSTD_inBuffer`) state.
- Handle errors, stream completion (`ret == 0`), and input truncation.
- Add new classes to `package/Library_package2.mk` build.

This completes the infrastructure for zstd decompression support.
The next step (Part 2c) involves adding logic to select the
appropriate Inflater based on the ZIP entry's compression method ID.

Change-Id: Ia673f3f19b6a751ba5225394fcf8c3f145c4ae63
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/184243
Tested-by: Jenkins
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
2025-05-01 12:18:19 +02:00
Akshay Kumar Dubey 3e1aa5805c tdf#137308 - Part 1: Refactor Inflater classes for extensibility
Refactor ZIP decompression classes (Inflater, InflaterBytes) to support multiple decompression algorithms, enabling future Zstandard
support.

Make Inflater and InflaterBytes abstract base classes defining a common interface. Move the original zlib/Deflate logic into new derived classes InflateZlib and InflaterBytesZlib.

Update usage sites to instantiate the *Zlib variants via unique_ptr to the base class, preserving existing functionality. Move header files to standard locations (include/package, package/inc) and update includes and build files.

This pure refactoring prepares the codebase for adding Zstandard (zstd) decompression. Correct a minor logical bug in the ZipFile::getSizeAndCRC loop condition.

Change-Id: I9be3c02946e29eb2dae09f500eb47d8a4261af22
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/183504
Reviewed-by: Devansh Varshney <varshney.devansh614@gmail.com>
Tested-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com>
Tested-by: Jenkins
2025-04-29 09:38:52 +02:00
Noel Grandin d883aab37d loplugin:constantparam
Change-Id: Iba5ce1d44e52610e985e97d299571cf3387d938a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/182180
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2025-02-25 19:37:56 +01:00
Noel Grandin 44bb2c8287 loplugin:unusedfields
Change-Id: If05b87f1e6c19b15b03b2695921a582e078d0f1a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/175011
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-10-16 15:51:52 +02:00
Noel Grandin a6f1841aed loplugin:unusedmethods
Change-Id: I3897ccb3349874672b778835b9c15642cb1a14f7
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/174298
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-10-01 11:16:39 +02:00
Noel Grandin a6ad198d09 tdf#158556 use more comphelper::ByteReader
which avoids a ton of temporary uno::Sequence being created

Change-Id: I237bb69395f692bb0272ca0daec05b81af828e01
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/171968
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Jenkins
2024-08-27 09:10:04 +02:00
Noel Grandin 033aaeec9e use more UNLESS_MERGELIBS
Change-Id: I351a9127fb26369d8f598b6d6519d7e490fa476b
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/163190
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2024-02-12 20:25:54 +01:00
Attila Szűcs abda72eeac tdf#82984 tdf#94915 zip64 support (import + export)
Implemented import + export for "Zip64 Extended Information Extra Field",
(in "Local file header" and "Central directory file header")
and for Data descriptor.
Focused only to be able to handle files with over 4GB uncompressed size,
in the zip archive.
The 64k filecount, and the 4GB compressed size limit is probably still present

Tried to follow pkware .ZIP File Format Specification,
Some cases were not clear to me and/or some zip compressing tool may not
perfectly follow the standard, like 'extra field' should be 28 bytes long,
but its reader now can read shorter (or longer) 'extra field'.

Replaced some 32bit codes with 64bit codes, in stream handling, in deflater.

Tested with an ods file that contained a content.xml that bigger then 4BG+
(import + export + reimport) on windows.
I think 4GB+ files import/export would be too slow fot unittest.
So, for unit test, used the small but zip64 format files,
that was attached to the bugzilla tickets

Note: It helps with Bug 128244 too (1 of the unittest tests it),
but that ods file missing manifest.xml, so LO won't be able to import it.

Change-Id: Idfeb90594388fd34ae719677f5d268ca9a484fb1
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/147306
Tested-by: Jenkins
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
2023-03-08 14:53:57 +00:00
Noel Grandin 581efdec36 loplugin:constmethod
Change-Id: I3ed657c5c5e6840e38e3c8505505b4b372125df0
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/122910
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2021-10-01 20:58:11 +02:00
Philipp Hofer 01baeab998 tdf#123936 Formatting files in module include with clang-format
Change-Id: I0507dd797cd5a35e0ae14f4b69ee4e172d08a71a
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/105681
Reviewed-by: Christian Lohmaier <lohmaier+LibreOffice@googlemail.com>
Tested-by: Jenkins
2020-11-21 13:19:17 +01:00
Noel Grandin 7a76939177 loplugin:constmethod in package
Change-Id: I44bc86a179164e1d039dd3a5f2c8a23396d870b3
Reviewed-on: https://gerrit.libreoffice.org/77931
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2019-08-22 09:34:43 +02:00
Luboš Luňák 7cd3f267cf split out thread functionality from ZipOutputEntry
It can be easily separated out, it looked like hacked in. And
I will need to do more refactoring of the class, so this shouldn't
be more complex than necessary.

Change-Id: I302da55409e9195274907ca4939c37fbb2427b18
Reviewed-on: https://gerrit.libreoffice.org/73031
Tested-by: Jenkins
Reviewed-by: Luboš Luňák <l.lunak@collabora.com>
2019-05-28 12:27:48 +02:00
Noel Grandin 80343351c9 loplugin:constantparam (2)
Change-Id: I528f22876497f87159e3b9453362ebbfb55b7092
2018-08-29 09:38:51 +02:00
Noel Grandin 7e937a1384 loplugin:useuniqueptr in Inflater,Deflater
Change-Id: I55833664a6e76d781908b8f1f721dd9a4946e35f
Reviewed-on: https://gerrit.libreoffice.org/53224
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2018-04-23 08:14:07 +02:00
Noel Grandin 9a06b99d2f loplugin:salcall fix non-virtual methods
first, since those are safer to change than virtual methods

Change-Id: Ie3b624019d75ee2b793cee33b3c5f64e994e8bfe
Reviewed-on: https://gerrit.libreoffice.org/45798
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-12-05 07:32:46 +01:00
Noel Grandin ee1d6af9b7 loplugin:finalclasses in package
Change-Id: I020ea1f3bea5c3deab05b9a2154102548c7622cf
Reviewed-on: https://gerrit.libreoffice.org/44132
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Tested-by: Noel Grandin <noel.grandin@collabora.co.uk>
2017-11-01 07:14:39 +01:00
Noel Grandin 92a302146e loplugin:countusersofdefaultparams in include/oox..sax
Change-Id: Ifb24c0f536d9c00bc9eb8c782d6854052f2d37b9
Reviewed-on: https://gerrit.libreoffice.org/31408
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
2016-11-30 11:25:25 +00:00
Noel Grandin 48a8d6d843 loplugin:singlevalfields in various
Change-Id: Ia0d8f463a4dba9ec63aa0159441e3e607dd3bf5e
Reviewed-on: https://gerrit.libreoffice.org/26738
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-06-28 11:21:17 +00:00
Noel Grandin 6b84445e33 loplugin:constantparam in package
Change-Id: Ifd9bb81ff9ccfaf5093c04024d7ea93946b00e66
Reviewed-on: https://gerrit.libreoffice.org/23329
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2016-03-18 06:00:58 +00:00
Noel Grandin a78182a993 loplugin:unusedfields in include/package,include/registry
Change-Id: Iadba30885ba3bab7aaee58e298a9dc6b22c8b977
2015-11-25 08:25:09 +02:00
Noel Grandin e4acd26406 com::sun::star->css in include/linguistic to include/sfx2
Change-Id: Id69e293fda98ee6cf2cc3d3296a0cd2e06bd847e
Reviewed-on: https://gerrit.libreoffice.org/19527
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-10-23 07:08:51 +00:00
Noel Grandin e546ed01e6 loplugin:unusedmethods package
Change-Id: I19d6bbb9288d72b99d1023b4983b1c3fff7570e8
Reviewed-on: https://gerrit.libreoffice.org/16811
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noelgrandin@gmail.com>
2015-07-07 11:01:11 +00:00
Matúš Kukan 7088166a67 Simplify input parameters to just take the sequence
Change-Id: Ic2538ca8b0f7261064e1dfbf3884dd452003c797
2014-11-17 10:49:23 +01:00
Matúš Kukan 87cb3a7c96 unusedcode: Remove Deflater::setLevel
Which makes bSetParams always false; remove that too, together with nLevel.

Change-Id: I94a4ec14b2b2c498d749ef72c1b6b118bba37076
2014-10-22 16:03:20 +02:00
Noel Grandin 184a00b962 loplugin: inlinesimplememberfunctions
Change-Id: I42119f656ca528286fb25d2d36c0af54b7d04a6b
2014-06-09 10:10:13 +02:00
Noel Grandin 6f7ca49591 package: sal_Bool->bool
Change-Id: I66999e5d9f827650f4c1bccb14178f8fa8a57cbf
2014-04-03 09:17:50 +02:00
Norbert Thiebaud 0f9c938fa2 coverity#984100 Uninitialized scalar field
Change-Id: I6a90bbc1fc2faa379a72dd0a61dd96a829676e2c
2014-02-18 02:55:12 -06:00
Norbert Thiebaud 606d778347 fdo#65108 inter-module includes <> include/package
Change-Id: I39a5467a2844ca9fe79954fc6f2d092931e57a16
2013-11-09 18:48:56 -06:00
Thomas Arnhold 1130a359cb fixincludeguards.sh: include - the rest
Change-Id: If1ee11da444a7f96f2d8668b277540da0bb4dbe9
2013-10-23 23:22:31 +02:00
Bjoern Michaelsen b9337e22ce execute move of global headers
see https://gerrit.libreoffice.org/#/c/3367/
and Change-Id: I00c96fa77d04b33a6f8c8cd3490dfcd9bdc9e84a for details

Change-Id: I199a75bc4042af20817265d5ef85b1134a96ff5a
2013-04-23 22:20:31 +02:00