You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by sw...@apache.org on 2025/02/02 02:05:22 UTC
(logging-log4cxx) 01/01: Add LOG4CXX_CHAR=wchar_t with clang GitHub action
This is an automated email from the ASF dual-hosted git repository.
swebb2066 pushed a commit to branch clang_wchar_t_test
in repository https://gitbox.apache.org/repos/asf/logging-log4cxx.git
commit a6936e7f06d9e9e451f3ad11552aa5394d17d55b
Author: Stephen Webb <sw...@gmail.com>
AuthorDate: Sun Feb 2 13:05:02 2025 +1100
Add LOG4CXX_CHAR=wchar_t with clang GitHub action
---
.github/workflows/log4cxx-ubuntu.yml | 5 +++++
src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp | 2 +-
src/main/cpp/syslogappender.cpp | 3 ++-
3 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/.github/workflows/log4cxx-ubuntu.yml b/.github/workflows/log4cxx-ubuntu.yml
index d38dd3ef..ac0f08ad 100644
--- a/.github/workflows/log4cxx-ubuntu.yml
+++ b/.github/workflows/log4cxx-ubuntu.yml
@@ -36,6 +36,7 @@ jobs:
multithread: OFF
exitevents: OFF
fuzzers: OFF
+ logchar: utf-8
- name: ubuntu20-clang
os: ubuntu-20.04
cxx: clang++
@@ -46,6 +47,7 @@ jobs:
multithread: OFF
exitevents: OFF
fuzzers: ON
+ logchar: utf-8
- name: ubuntu22-gcc
os: ubuntu-22.04
cxx: g++
@@ -56,6 +58,7 @@ jobs:
multithread: ON
exitevents: ON
fuzzers: OFF
+ logchar: utf-8
- name: ubuntu22-clang
os: ubuntu-22.04
cxx: clang++
@@ -66,6 +69,7 @@ jobs:
multithread: ON
exitevents: OFF
fuzzers: ON
+ logchar: wchar_t
steps:
- uses: actions/checkout@v4
@@ -103,6 +107,7 @@ jobs:
-DLOG4CXX_MULTIPROCESS_ROLLING_FILE_APPENDER=${{ matrix.multiprocess }} \
-DLOG4CXX_EVENTS_AT_EXIT=${{ matrix.exitevents }} \
-DBUILD_FUZZERS=${{ matrix.fuzzers }} \
+ -DLOG4CXX_CHAR=${{ matrix.logchar }} \
..
cmake --build .
diff --git a/src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp b/src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp
index df7562a7..a1d92b91 100644
--- a/src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp
+++ b/src/fuzzers/cpp/TimeBasedRollingPolicyFuzzer.cpp
@@ -47,7 +47,7 @@ extern "C" int LLVMFuzzerTestOneInput(const uint8_t *data, size_t size) {
} else {
tbrp->setFileNamePattern(LogString(LOG4CXX_STR("fuzz-%d{" DATE_PATTERN "}.zip")));
}
- rfa->setFile(LOG4CXX_STR(LOG4CXX_STR("test.log")));
+ rfa->setFile(LOG4CXX_STR("test.log"));
tbrp->activateOptions(pool);
rfa->setRollingPolicy(tbrp);
diff --git a/src/main/cpp/syslogappender.cpp b/src/main/cpp/syslogappender.cpp
index 3a5a0e2b..77540b6f 100644
--- a/src/main/cpp/syslogappender.cpp
+++ b/src/main/cpp/syslogappender.cpp
@@ -334,8 +334,9 @@ void SyslogAppender::append(const spi::LoggingEventPtr& event, Pool& p)
for (auto const& item : packets)
{
// use of "%s" to avoid a security hole
+ LOG4CXX_ENCODE_CHAR(itemStr, item);
::syslog(_priv->syslogFacility | event->getLevel()->getSyslogEquivalent(),
- "%s", item.c_str());
+ "%s", itemStr.c_str());
}
return;