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>
This commit is contained in:
@@ -756,8 +756,6 @@ include/opencl/openclconfig.hxx:58
|
||||
_Bool OpenCLConfig::ImplMatcher::operator!=(const struct OpenCLConfig::ImplMatcher &) const
|
||||
include/opencl/openclconfig.hxx:95
|
||||
std::basic_ostream<char> & operator<<(std::basic_ostream<char> &,const struct OpenCLConfig &)
|
||||
include/package/InflateZstd.hxx:33
|
||||
ZipUtils::InflateZstd::InflateZstd(_Bool)
|
||||
include/sfx2/evntconf.hxx:61
|
||||
struct SfxEventName & SfxEventNamesList::at(unsigned long)
|
||||
include/sfx2/infobar.hxx:104
|
||||
|
||||
@@ -1,47 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
|
||||
/*
|
||||
* This file is part of the LibreOffice project.
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <memory>
|
||||
#include <package/Inflater.hxx>
|
||||
#include <zstd.h>
|
||||
#include <zstd_errors.h>
|
||||
|
||||
namespace ZipUtils
|
||||
{
|
||||
class DLLPUBLIC_PACKAGE InflateZstd : public Inflater
|
||||
{
|
||||
private:
|
||||
bool bFinished;
|
||||
sal_Int32 nLastInflateError;
|
||||
css::uno::Sequence<sal_Int8> sInBuffer;
|
||||
ZSTD_DCtx* pDCtx;
|
||||
ZSTD_inBuffer inBuffer;
|
||||
bool bStreamInitialized;
|
||||
|
||||
sal_Int32 doInflateBytes(css::uno::Sequence<sal_Int8>& rBuffer, sal_Int32 nNewOffset,
|
||||
sal_Int32 nNewLength);
|
||||
|
||||
public:
|
||||
explicit InflateZstd(bool bNoWrap = false);
|
||||
virtual ~InflateZstd() override;
|
||||
|
||||
virtual void setInput(const css::uno::Sequence<sal_Int8>& rBuffer) override;
|
||||
virtual bool needsDictionary() const override { return false; }
|
||||
virtual bool finished() const override { return bFinished; }
|
||||
virtual sal_Int32 doInflateSegment(css::uno::Sequence<sal_Int8>& rBuffer, sal_Int32 nNewOffset,
|
||||
sal_Int32 nNewLength) override;
|
||||
virtual void end() override final;
|
||||
virtual sal_Int32 getLastInflateError() const override { return nLastInflateError; }
|
||||
};
|
||||
|
||||
} // namespace ZipUtils
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
|
||||
@@ -59,7 +59,6 @@ $(eval $(call gb_Library_add_exception_objects,package2,\
|
||||
package/source/zipapi/InflaterBytesZlib \
|
||||
package/source/zipapi/InflaterBytesZstd \
|
||||
package/source/zipapi/InflateZlib \
|
||||
package/source/zipapi/InflateZstd \
|
||||
package/source/zipapi/sha1context \
|
||||
package/source/zipapi/ThreadedDeflater \
|
||||
package/source/zipapi/XBufferedThreadedStream \
|
||||
|
||||
@@ -1,93 +0,0 @@
|
||||
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
|
||||
/*
|
||||
* This file is part of the LibreOffice project.
|
||||
*
|
||||
* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
*/
|
||||
|
||||
#include <package/InflateZstd.hxx>
|
||||
#include <string.h>
|
||||
|
||||
using namespace com::sun::star::uno;
|
||||
using namespace ZipUtils;
|
||||
|
||||
InflateZstd::InflateZstd(bool)
|
||||
: bFinished(false)
|
||||
, nLastInflateError(0)
|
||||
, pDCtx(ZSTD_createDCtx())
|
||||
, bStreamInitialized(false)
|
||||
{
|
||||
if (!pDCtx)
|
||||
{
|
||||
nLastInflateError = static_cast<sal_Int32>(ZSTD_error_memory_allocation);
|
||||
}
|
||||
inBuffer = { nullptr, 0, 0 };
|
||||
}
|
||||
|
||||
InflateZstd::~InflateZstd() { end(); }
|
||||
|
||||
void InflateZstd::setInput(const Sequence<sal_Int8>& rBuffer)
|
||||
{
|
||||
if (!pDCtx)
|
||||
{
|
||||
bStreamInitialized = false;
|
||||
return;
|
||||
}
|
||||
sInBuffer = rBuffer;
|
||||
inBuffer.src = sInBuffer.getConstArray();
|
||||
inBuffer.size = sInBuffer.getLength();
|
||||
inBuffer.pos = 0;
|
||||
bStreamInitialized = true;
|
||||
}
|
||||
|
||||
sal_Int32 InflateZstd::doInflateSegment(Sequence<sal_Int8>& rBuffer, sal_Int32 nNewOffset,
|
||||
sal_Int32 nNewLength)
|
||||
{
|
||||
if (nNewOffset < 0 || nNewLength < 0 || nNewOffset + nNewLength > rBuffer.getLength())
|
||||
return 0;
|
||||
|
||||
return doInflateBytes(rBuffer, nNewOffset, nNewLength);
|
||||
}
|
||||
|
||||
void InflateZstd::end()
|
||||
{
|
||||
if (pDCtx)
|
||||
{
|
||||
ZSTD_freeDCtx(pDCtx);
|
||||
pDCtx = nullptr;
|
||||
}
|
||||
bStreamInitialized = false;
|
||||
inBuffer = { nullptr, 0, 0 };
|
||||
}
|
||||
|
||||
sal_Int32 InflateZstd::doInflateBytes(Sequence<sal_Int8>& rBuffer, sal_Int32 nNewOffset,
|
||||
sal_Int32 nNewLength)
|
||||
{
|
||||
if (bFinished)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
if (!pDCtx || !bStreamInitialized)
|
||||
{
|
||||
nLastInflateError = 1;
|
||||
return 0;
|
||||
}
|
||||
nLastInflateError = 0;
|
||||
ZSTD_outBuffer outBuffer
|
||||
= { rBuffer.getArray() + nNewOffset, static_cast<size_t>(nNewLength), 0 };
|
||||
size_t ret = ZSTD_decompressStream(pDCtx, &outBuffer, &inBuffer);
|
||||
if (ZSTD_isError(ret))
|
||||
{
|
||||
nLastInflateError = static_cast<sal_Int32>(ret);
|
||||
ZSTD_DCtx_reset(pDCtx, ZSTD_reset_session_only);
|
||||
return 0;
|
||||
}
|
||||
if (ret == 0)
|
||||
bFinished = true;
|
||||
|
||||
return static_cast<sal_Int32>(outBuffer.pos);
|
||||
}
|
||||
|
||||
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
|
||||
Reference in New Issue
Block a user