From 4ba4a17b8831055a88115233a40f2caa5b22e9de Mon Sep 17 00:00:00 2001 From: Stephen Webb Date: Fri, 4 Jul 2025 11:19:08 +1000 Subject: [PATCH 1/4] Simplify WriterAppender interface in the next ABI version --- src/main/cpp/fileappender.cpp | 4 +- .../cpp/multiprocessrollingfileappender.cpp | 2 +- src/main/cpp/outputstreamwriter.cpp | 39 +++++++++++-------- src/main/cpp/rollingfileappender.cpp | 26 +++++++------ src/main/cpp/writerappender.cpp | 22 +++++++---- src/main/include/log4cxx/fileappender.h | 4 +- .../log4cxx/helpers/outputstreamwriter.h | 4 +- .../log4cxx/private/writerappender_priv.h | 7 ++-- .../rolling/multiprocessrollingfileappender.h | 2 +- .../log4cxx/rolling/rollingfileappender.h | 2 +- src/main/include/log4cxx/writerappender.h | 26 ++++++------- 11 files changed, 77 insertions(+), 61 deletions(-) diff --git a/src/main/cpp/fileappender.cpp b/src/main/cpp/fileappender.cpp index 0ecd3d034..b2350c73c 100644 --- a/src/main/cpp/fileappender.cpp +++ b/src/main/cpp/fileappender.cpp @@ -323,7 +323,7 @@ void FileAppender::setFileInternal( try { - outStream = FileOutputStreamPtr(new FileOutputStream(filename, append1)); + outStream = std::make_shared(filename, append1); } catch (IOException&) { @@ -336,7 +336,7 @@ void FileAppender::setFileInternal( if (!parentDir.exists(p) && parentDir.mkdirs(p)) { - outStream = OutputStreamPtr(new FileOutputStream(filename, append1)); + outStream = std::make_shared(filename, append1); } else { diff --git a/src/main/cpp/multiprocessrollingfileappender.cpp b/src/main/cpp/multiprocessrollingfileappender.cpp index 86bb37c48..bbb2e9f45 100644 --- a/src/main/cpp/multiprocessrollingfileappender.cpp +++ b/src/main/cpp/multiprocessrollingfileappender.cpp @@ -428,7 +428,7 @@ void MultiprocessRollingFileAppender::subAppend(const LoggingEventPtr& event, Po @param os output stream, may not be null. @return new writer. */ -WriterPtr MultiprocessRollingFileAppender::createWriter(OutputStreamPtr& os) +WriterPtr MultiprocessRollingFileAppender::createWriter(const OutputStreamPtr& os) { auto fos = LOG4CXX_NS::cast(os); if( fos ) diff --git a/src/main/cpp/outputstreamwriter.cpp b/src/main/cpp/outputstreamwriter.cpp index 70ed97020..8c8ae4291 100644 --- a/src/main/cpp/outputstreamwriter.cpp +++ b/src/main/cpp/outputstreamwriter.cpp @@ -27,38 +27,43 @@ using namespace LOG4CXX_NS::helpers; IMPLEMENT_LOG4CXX_OBJECT(OutputStreamWriter) -struct OutputStreamWriter::OutputStreamWriterPrivate{ - OutputStreamWriterPrivate(OutputStreamPtr& out1) : out(out1), enc(CharsetEncoder::getDefaultEncoder()){} - - OutputStreamWriterPrivate(OutputStreamPtr& out1, - CharsetEncoderPtr& enc1) - : out(out1), enc(enc1){} +struct OutputStreamWriter::OutputStreamWriterPrivate +{ + OutputStreamWriterPrivate + ( const OutputStreamPtr& out1 + , const CharsetEncoderPtr& enc1 = CharsetEncoder::getDefaultEncoder() + ) + : out(out1) + , enc(enc1) + {} OutputStreamPtr out; CharsetEncoderPtr enc; }; -OutputStreamWriter::OutputStreamWriter(OutputStreamPtr& out1) - : m_priv(std::make_unique(out1)) +OutputStreamWriter::OutputStreamWriter(const OutputStreamPtr& out) + : m_priv(std::make_unique(out)) { - if (out1 == 0) + if (!out) { - throw NullPointerException(LOG4CXX_STR("out parameter may not be null.")); + throw NullPointerException(LOG4CXX_STR("OutputStream parameter may not be null.")); } } -OutputStreamWriter::OutputStreamWriter(OutputStreamPtr& out1, - CharsetEncoderPtr& enc1) - : m_priv(std::make_unique(out1, enc1)) +OutputStreamWriter::OutputStreamWriter + ( const OutputStreamPtr& out + , const CharsetEncoderPtr& enc + ) + : m_priv(std::make_unique(out, enc)) { - if (out1 == 0) + if (!out) { - throw NullPointerException(LOG4CXX_STR("out parameter may not be null.")); + throw NullPointerException(LOG4CXX_STR("OutputStream parameter may not be null.")); } - if (enc1 == 0) + if (!enc) { - throw NullPointerException(LOG4CXX_STR("enc parameter may not be null.")); + throw NullPointerException(LOG4CXX_STR("CharsetEncoder parameter may not be null.")); } } diff --git a/src/main/cpp/rollingfileappender.cpp b/src/main/cpp/rollingfileappender.cpp index 954cd929c..e791918e3 100644 --- a/src/main/cpp/rollingfileappender.cpp +++ b/src/main/cpp/rollingfileappender.cpp @@ -357,10 +357,11 @@ bool RollingFileAppender::rolloverInternal(Pool& p) setFileInternal(rollover1->getActiveFileName()); // Call activateOptions to create any intermediate directories(if required) FileAppender::activateOptionsInternal(p); - OutputStreamPtr os(new FileOutputStream( - rollover1->getActiveFileName(), rollover1->getAppend())); - WriterPtr newWriter(createWriter(os)); - setWriterInternal(newWriter); + auto os = std::make_shared + ( rollover1->getActiveFileName() + , rollover1->getAppend() + ); + setWriterInternal(createWriter(os)); bool success = true; @@ -518,16 +519,19 @@ class CountingOutputStream : public OutputStream * @param os output stream to wrap. * @param rfa rolling file appender to inform. */ - CountingOutputStream( - OutputStreamPtr& os1, RollingFileAppender* rfa1) : - os(os1), rfa(rfa1) + CountingOutputStream + ( const OutputStreamPtr& os1 + , RollingFileAppender* rfa1 + ) + : os(os1) + , rfa(rfa1) { } /** * {@inheritDoc} */ - void close(Pool& p) + void close(Pool& p) override { os->close(p); rfa = 0; @@ -536,7 +540,7 @@ class CountingOutputStream : public OutputStream /** * {@inheritDoc} */ - void flush(Pool& p) + void flush(Pool& p) override { os->flush(p); } @@ -544,7 +548,7 @@ class CountingOutputStream : public OutputStream /** * {@inheritDoc} */ - void write(ByteBuffer& buf, Pool& p) + void write(ByteBuffer& buf, Pool& p) override { os->write(buf, p); @@ -566,7 +570,7 @@ class CountingOutputStream : public OutputStream @param os output stream, may not be null. @return new writer. */ -WriterPtr RollingFileAppender::createWriter(OutputStreamPtr& os) +WriterPtr RollingFileAppender::createWriter(const OutputStreamPtr& os) { OutputStreamPtr cos = std::make_shared(os, this); return FileAppender::createWriter(cos); diff --git a/src/main/cpp/writerappender.cpp b/src/main/cpp/writerappender.cpp index b1c5a6899..cae46e943 100644 --- a/src/main/cpp/writerappender.cpp +++ b/src/main/cpp/writerappender.cpp @@ -36,18 +36,26 @@ WriterAppender::WriterAppender() : { } -WriterAppender::WriterAppender(const LayoutPtr& layout1, - LOG4CXX_NS::helpers::WriterPtr& writer1) - : AppenderSkeleton (std::make_unique(layout1, writer1)) +#if LOG4CXX_ABI_VERSION <= 15 +WriterAppender::WriterAppender(const LayoutPtr& layout, helpers::WriterPtr& writer) + : AppenderSkeleton (std::make_unique(layout, writer)) { Pool p; activateOptions(p); } -WriterAppender::WriterAppender(const LayoutPtr& layout1) - : AppenderSkeleton (std::make_unique(layout1)) +WriterAppender::WriterAppender(const LayoutPtr& layout) + : AppenderSkeleton (std::make_unique(layout)) { } +#else +WriterAppender::WriterAppender(const LayoutPtr& layout, const helpers::WriterPtr& writer) + : AppenderSkeleton(std::make_unique(layout, writer)) +{ + Pool p; + activateOptions(p); +} +#endif WriterAppender::WriterAppender(std::unique_ptr priv) : AppenderSkeleton (std::move(priv)) @@ -182,7 +190,7 @@ void WriterAppender::closeWriter() encoding property. If the encoding value is specified incorrectly the writer will be opened using the default system encoding (an error message will be printed to the loglog. */ -WriterPtr WriterAppender::createWriter(OutputStreamPtr& os) +WriterPtr WriterAppender::createWriter(const OutputStreamPtr& os) { LogString enc(getEncoding()); @@ -213,7 +221,7 @@ WriterPtr WriterAppender::createWriter(OutputStreamPtr& os) } } - return WriterPtr(new OutputStreamWriter(os, encoder)); + return std::make_shared(os, encoder); } LogString WriterAppender::getEncoding() const diff --git a/src/main/include/log4cxx/fileappender.h b/src/main/include/log4cxx/fileappender.h index 87c843501..10722c071 100644 --- a/src/main/include/log4cxx/fileappender.h +++ b/src/main/include/log4cxx/fileappender.h @@ -219,7 +219,7 @@ class LOG4CXX_EXPORT FileAppender : public WriterAppender static LogString stripDuplicateBackslashes(const LogString& name); protected: - void activateOptionsInternal(LOG4CXX_NS::helpers::Pool& p); + void activateOptionsInternal(helpers::Pool& p); /** Sets and opens the file where the log output will @@ -243,7 +243,7 @@ class LOG4CXX_EXPORT FileAppender : public WriterAppender */ void setFileInternal(const LogString& file, bool append, bool bufferedIO, size_t bufferSize, - LOG4CXX_NS::helpers::Pool& p); + helpers::Pool& p); void setFileInternal(const LogString& file); diff --git a/src/main/include/log4cxx/helpers/outputstreamwriter.h b/src/main/include/log4cxx/helpers/outputstreamwriter.h index 1d1777c86..336836cce 100644 --- a/src/main/include/log4cxx/helpers/outputstreamwriter.h +++ b/src/main/include/log4cxx/helpers/outputstreamwriter.h @@ -43,8 +43,8 @@ class LOG4CXX_EXPORT OutputStreamWriter : public Writer LOG4CXX_CAST_ENTRY_CHAIN(Writer) END_LOG4CXX_CAST_MAP() - OutputStreamWriter(OutputStreamPtr& out); - OutputStreamWriter(OutputStreamPtr& out, CharsetEncoderPtr& enc); + OutputStreamWriter(const OutputStreamPtr& out); + OutputStreamWriter(const OutputStreamPtr& out, const CharsetEncoderPtr& enc); ~OutputStreamWriter(); void close(Pool& p) override; diff --git a/src/main/include/log4cxx/private/writerappender_priv.h b/src/main/include/log4cxx/private/writerappender_priv.h index dc268cddc..1a82bc643 100644 --- a/src/main/include/log4cxx/private/writerappender_priv.h +++ b/src/main/include/log4cxx/private/writerappender_priv.h @@ -42,8 +42,7 @@ struct WriterAppender::WriterAppenderPriv : public AppenderSkeleton::AppenderSke { } - WriterAppenderPriv(const LayoutPtr& layout1, - LOG4CXX_NS::helpers::WriterPtr& writer1) : + WriterAppenderPriv(const LayoutPtr& layout1, const helpers::WriterPtr& writer1) : AppenderSkeletonPrivate(layout1), immediateFlush(true), writer(writer1) @@ -53,6 +52,7 @@ struct WriterAppender::WriterAppenderPriv : public AppenderSkeleton::AppenderSke { } +#if LOG4CXX_ABI_VERSION <= 15 WriterAppenderPriv(const LayoutPtr& layout1) : AppenderSkeletonPrivate(layout1), immediateFlush(true) @@ -61,6 +61,7 @@ struct WriterAppender::WriterAppenderPriv : public AppenderSkeleton::AppenderSke #endif { } +#endif void flush() { @@ -94,7 +95,7 @@ struct WriterAppender::WriterAppenderPriv : public AppenderSkeleton::AppenderSke /** * This is the {@link Writer Writer} where we will write to. */ - LOG4CXX_NS::helpers::WriterPtr writer; + helpers::WriterPtr writer; #if LOG4CXX_EVENTS_AT_EXIT helpers::AtExitRegistry::Raii atExitRegistryRaii; diff --git a/src/main/include/log4cxx/rolling/multiprocessrollingfileappender.h b/src/main/include/log4cxx/rolling/multiprocessrollingfileappender.h index 226d8ef78..51ea941bd 100644 --- a/src/main/include/log4cxx/rolling/multiprocessrollingfileappender.h +++ b/src/main/include/log4cxx/rolling/multiprocessrollingfileappender.h @@ -91,7 +91,7 @@ class LOG4CXX_EXPORT MultiprocessRollingFileAppender : public RollingFileAppende @param os output stream, may not be null. @return new writer. */ - helpers::WriterPtr createWriter(helpers::OutputStreamPtr& os) override; + helpers::WriterPtr createWriter(const helpers::OutputStreamPtr& os) override; private: /** diff --git a/src/main/include/log4cxx/rolling/rollingfileappender.h b/src/main/include/log4cxx/rolling/rollingfileappender.h index e1f7cdc83..6679de51a 100644 --- a/src/main/include/log4cxx/rolling/rollingfileappender.h +++ b/src/main/include/log4cxx/rolling/rollingfileappender.h @@ -220,7 +220,7 @@ class LOG4CXX_EXPORT RollingFileAppender : public FileAppender @param os output stream, may not be null. @return new writer. */ - helpers::WriterPtr createWriter(helpers::OutputStreamPtr& os) override; + helpers::WriterPtr createWriter(const helpers::OutputStreamPtr& os) override; public: /** diff --git a/src/main/include/log4cxx/writerappender.h b/src/main/include/log4cxx/writerappender.h index cf6c1f42d..5de8a1aea 100644 --- a/src/main/include/log4cxx/writerappender.h +++ b/src/main/include/log4cxx/writerappender.h @@ -25,11 +25,6 @@ namespace LOG4CXX_NS { -namespace helpers -{ -class Transcoder; -} - /** WriterAppender appends log events to a standard output stream */ @@ -48,9 +43,12 @@ class LOG4CXX_EXPORT WriterAppender : public AppenderSkeleton This default constructor does nothing.*/ WriterAppender(); protected: - WriterAppender(const LayoutPtr& layout, - LOG4CXX_NS::helpers::WriterPtr& writer); +#if LOG4CXX_ABI_VERSION <= 15 + WriterAppender(const LayoutPtr& layout, helpers::WriterPtr& writer); WriterAppender(const LayoutPtr& layout); +#else + WriterAppender(const LayoutPtr& layout, const helpers::WriterPtr& writer = helpers::WriterPtr()); +#endif WriterAppender(std::unique_ptr priv); public: @@ -128,7 +126,7 @@ class LOG4CXX_EXPORT WriterAppender : public AppenderSkeleton encoding property. If the encoding value is specified incorrectly the writer will be opened using the default system encoding (an error message will be printed to the loglog. */ - virtual helpers::WriterPtr createWriter(helpers::OutputStreamPtr& os); + virtual helpers::WriterPtr createWriter(const helpers::OutputStreamPtr& os); public: /** @@ -165,9 +163,9 @@ class LOG4CXX_EXPORT WriterAppender : public AppenderSkeleton @param writer An already opened Writer. */ - void setWriter(const LOG4CXX_NS::helpers::WriterPtr& writer); + void setWriter(const helpers::WriterPtr& writer); - const LOG4CXX_NS::helpers::WriterPtr getWriter() const; + const helpers::WriterPtr getWriter() const; bool requiresLayout() const override; @@ -175,23 +173,23 @@ class LOG4CXX_EXPORT WriterAppender : public AppenderSkeleton /** Actual writing occurs here. */ - virtual void subAppend(const spi::LoggingEventPtr& event, LOG4CXX_NS::helpers::Pool& p); + virtual void subAppend(const spi::LoggingEventPtr& event, helpers::Pool& p); /** Write a footer as produced by the embedded layout's Layout#appendFooter method. */ - virtual void writeFooter(LOG4CXX_NS::helpers::Pool& p); + virtual void writeFooter(helpers::Pool& p); /** Write a header as produced by the embedded layout's Layout#appendHeader method. */ - virtual void writeHeader(LOG4CXX_NS::helpers::Pool& p); + virtual void writeHeader(helpers::Pool& p); /** * Set the writer. Mutex must already be held. */ - void setWriterInternal(const LOG4CXX_NS::helpers::WriterPtr& writer); + void setWriterInternal(const helpers::WriterPtr& writer); private: // From 16d2582dd893a93a9e0e9fa7780661b7bed24e20 Mon Sep 17 00:00:00 2001 From: Stephen Webb Date: Fri, 4 Jul 2025 11:40:51 +1000 Subject: [PATCH 2/4] Private header files are no longer included in abi check --- .../log4cxx/private/writerappender_priv.h | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/src/main/include/log4cxx/private/writerappender_priv.h b/src/main/include/log4cxx/private/writerappender_priv.h index 1a82bc643..c9484299b 100644 --- a/src/main/include/log4cxx/private/writerappender_priv.h +++ b/src/main/include/log4cxx/private/writerappender_priv.h @@ -42,27 +42,13 @@ struct WriterAppender::WriterAppenderPriv : public AppenderSkeleton::AppenderSke { } - WriterAppenderPriv(const LayoutPtr& layout1, const helpers::WriterPtr& writer1) : - AppenderSkeletonPrivate(layout1), - immediateFlush(true), - writer(writer1) -#if LOG4CXX_EVENTS_AT_EXIT - , atExitRegistryRaii{ [this]{flush();} } -#endif + WriterAppenderPriv(const LayoutPtr& layout1, const helpers::WriterPtr& writer1 = helpers::WriterPtr()) + : WriterAppenderPriv() { + this->layout = layout1; + this->writer = writer1; } -#if LOG4CXX_ABI_VERSION <= 15 - WriterAppenderPriv(const LayoutPtr& layout1) : - AppenderSkeletonPrivate(layout1), - immediateFlush(true) -#if LOG4CXX_EVENTS_AT_EXIT - , atExitRegistryRaii{ [this]{flush();} } -#endif - { - } -#endif - void flush() { std::lock_guard lock(mutex); From 03de20812e4868f8fb52239f8d9404bea9417617 Mon Sep 17 00:00:00 2001 From: Stephen Webb Date: Fri, 4 Jul 2025 13:19:07 +1000 Subject: [PATCH 3/4] Silence abi_check --- src/main/cpp/multiprocessrollingfileappender.cpp | 2 +- src/main/cpp/rollingfileappender.cpp | 4 ++-- src/main/cpp/writerappender.cpp | 2 +- .../log4cxx/rolling/multiprocessrollingfileappender.h | 2 +- src/main/include/log4cxx/rolling/rollingfileappender.h | 2 +- src/main/include/log4cxx/writerappender.h | 8 +++++++- 6 files changed, 13 insertions(+), 7 deletions(-) diff --git a/src/main/cpp/multiprocessrollingfileappender.cpp b/src/main/cpp/multiprocessrollingfileappender.cpp index bbb2e9f45..9b1f061f0 100644 --- a/src/main/cpp/multiprocessrollingfileappender.cpp +++ b/src/main/cpp/multiprocessrollingfileappender.cpp @@ -428,7 +428,7 @@ void MultiprocessRollingFileAppender::subAppend(const LoggingEventPtr& event, Po @param os output stream, may not be null. @return new writer. */ -WriterPtr MultiprocessRollingFileAppender::createWriter(const OutputStreamPtr& os) +WriterPtr MultiprocessRollingFileAppender::createWriter(LOG4CXX_16_CONST OutputStreamPtr& os) { auto fos = LOG4CXX_NS::cast(os); if( fos ) diff --git a/src/main/cpp/rollingfileappender.cpp b/src/main/cpp/rollingfileappender.cpp index e791918e3..4112864c9 100644 --- a/src/main/cpp/rollingfileappender.cpp +++ b/src/main/cpp/rollingfileappender.cpp @@ -357,7 +357,7 @@ bool RollingFileAppender::rolloverInternal(Pool& p) setFileInternal(rollover1->getActiveFileName()); // Call activateOptions to create any intermediate directories(if required) FileAppender::activateOptionsInternal(p); - auto os = std::make_shared + OutputStreamPtr os = std::make_shared ( rollover1->getActiveFileName() , rollover1->getAppend() ); @@ -570,7 +570,7 @@ class CountingOutputStream : public OutputStream @param os output stream, may not be null. @return new writer. */ -WriterPtr RollingFileAppender::createWriter(const OutputStreamPtr& os) +WriterPtr RollingFileAppender::createWriter(LOG4CXX_16_CONST OutputStreamPtr& os) { OutputStreamPtr cos = std::make_shared(os, this); return FileAppender::createWriter(cos); diff --git a/src/main/cpp/writerappender.cpp b/src/main/cpp/writerappender.cpp index cae46e943..1d49236b8 100644 --- a/src/main/cpp/writerappender.cpp +++ b/src/main/cpp/writerappender.cpp @@ -190,7 +190,7 @@ void WriterAppender::closeWriter() encoding property. If the encoding value is specified incorrectly the writer will be opened using the default system encoding (an error message will be printed to the loglog. */ -WriterPtr WriterAppender::createWriter(const OutputStreamPtr& os) +WriterPtr WriterAppender::createWriter(LOG4CXX_16_CONST OutputStreamPtr& os) { LogString enc(getEncoding()); diff --git a/src/main/include/log4cxx/rolling/multiprocessrollingfileappender.h b/src/main/include/log4cxx/rolling/multiprocessrollingfileappender.h index 51ea941bd..c1b38a847 100644 --- a/src/main/include/log4cxx/rolling/multiprocessrollingfileappender.h +++ b/src/main/include/log4cxx/rolling/multiprocessrollingfileappender.h @@ -91,7 +91,7 @@ class LOG4CXX_EXPORT MultiprocessRollingFileAppender : public RollingFileAppende @param os output stream, may not be null. @return new writer. */ - helpers::WriterPtr createWriter(const helpers::OutputStreamPtr& os) override; + helpers::WriterPtr createWriter(LOG4CXX_16_CONST helpers::OutputStreamPtr& os) override; private: /** diff --git a/src/main/include/log4cxx/rolling/rollingfileappender.h b/src/main/include/log4cxx/rolling/rollingfileappender.h index 6679de51a..276cf6e49 100644 --- a/src/main/include/log4cxx/rolling/rollingfileappender.h +++ b/src/main/include/log4cxx/rolling/rollingfileappender.h @@ -220,7 +220,7 @@ class LOG4CXX_EXPORT RollingFileAppender : public FileAppender @param os output stream, may not be null. @return new writer. */ - helpers::WriterPtr createWriter(const helpers::OutputStreamPtr& os) override; + helpers::WriterPtr createWriter(LOG4CXX_16_CONST helpers::OutputStreamPtr& os) override; public: /** diff --git a/src/main/include/log4cxx/writerappender.h b/src/main/include/log4cxx/writerappender.h index 5de8a1aea..bc23809b0 100644 --- a/src/main/include/log4cxx/writerappender.h +++ b/src/main/include/log4cxx/writerappender.h @@ -22,6 +22,12 @@ #include #include +#if 15 < LOG4CXX_ABI_VERSION +#define LOG4CXX_16_CONST const +#else +#define LOG4CXX_16_CONST +#endif + namespace LOG4CXX_NS { @@ -126,7 +132,7 @@ class LOG4CXX_EXPORT WriterAppender : public AppenderSkeleton encoding property. If the encoding value is specified incorrectly the writer will be opened using the default system encoding (an error message will be printed to the loglog. */ - virtual helpers::WriterPtr createWriter(const helpers::OutputStreamPtr& os); + virtual helpers::WriterPtr createWriter(LOG4CXX_16_CONST helpers::OutputStreamPtr& os); public: /** From 3e7d0b5602d07ae56e58108f8a0273189016b48a Mon Sep 17 00:00:00 2001 From: Stephen Webb Date: Fri, 4 Jul 2025 13:25:05 +1000 Subject: [PATCH 4/4] Silence abi_check --- src/main/cpp/outputstreamwriter.cpp | 6 +++--- src/main/include/log4cxx/helpers/outputstreamwriter.h | 10 ++++++++-- src/main/include/log4cxx/writerappender.h | 6 ------ 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/cpp/outputstreamwriter.cpp b/src/main/cpp/outputstreamwriter.cpp index 8c8ae4291..659a6c8b7 100644 --- a/src/main/cpp/outputstreamwriter.cpp +++ b/src/main/cpp/outputstreamwriter.cpp @@ -41,7 +41,7 @@ struct OutputStreamWriter::OutputStreamWriterPrivate CharsetEncoderPtr enc; }; -OutputStreamWriter::OutputStreamWriter(const OutputStreamPtr& out) +OutputStreamWriter::OutputStreamWriter(LOG4CXX_16_CONST OutputStreamPtr& out) : m_priv(std::make_unique(out)) { if (!out) @@ -51,8 +51,8 @@ OutputStreamWriter::OutputStreamWriter(const OutputStreamPtr& out) } OutputStreamWriter::OutputStreamWriter - ( const OutputStreamPtr& out - , const CharsetEncoderPtr& enc + ( LOG4CXX_16_CONST OutputStreamPtr& out + , LOG4CXX_16_CONST CharsetEncoderPtr& enc ) : m_priv(std::make_unique(out, enc)) { diff --git a/src/main/include/log4cxx/helpers/outputstreamwriter.h b/src/main/include/log4cxx/helpers/outputstreamwriter.h index 336836cce..547744b96 100644 --- a/src/main/include/log4cxx/helpers/outputstreamwriter.h +++ b/src/main/include/log4cxx/helpers/outputstreamwriter.h @@ -22,6 +22,12 @@ #include #include +#if 15 < LOG4CXX_ABI_VERSION +#define LOG4CXX_16_CONST const +#else +#define LOG4CXX_16_CONST +#endif + namespace LOG4CXX_NS { @@ -43,8 +49,8 @@ class LOG4CXX_EXPORT OutputStreamWriter : public Writer LOG4CXX_CAST_ENTRY_CHAIN(Writer) END_LOG4CXX_CAST_MAP() - OutputStreamWriter(const OutputStreamPtr& out); - OutputStreamWriter(const OutputStreamPtr& out, const CharsetEncoderPtr& enc); + OutputStreamWriter(LOG4CXX_16_CONST OutputStreamPtr& out); + OutputStreamWriter(LOG4CXX_16_CONST OutputStreamPtr& out, LOG4CXX_16_CONST CharsetEncoderPtr& enc); ~OutputStreamWriter(); void close(Pool& p) override; diff --git a/src/main/include/log4cxx/writerappender.h b/src/main/include/log4cxx/writerappender.h index bc23809b0..2650cfcc4 100644 --- a/src/main/include/log4cxx/writerappender.h +++ b/src/main/include/log4cxx/writerappender.h @@ -22,12 +22,6 @@ #include #include -#if 15 < LOG4CXX_ABI_VERSION -#define LOG4CXX_16_CONST const -#else -#define LOG4CXX_16_CONST -#endif - namespace LOG4CXX_NS {