.gitlab-ci.yml | 4 +++- poppler/CurlCachedFile.cc | 6 +++--- poppler/DateInfo.cc | 3 ++- poppler/PSOutputDev.cc | 5 +++-- utils/HtmlOutputDev.cc | 4 ++-- 5 files changed, 13 insertions(+), 9 deletions(-)
New commits: commit 04aa2f7e416eb232821576fec7ed61b0b7273fbc Author: Albert Astals Cid <aa...@kde.org> Date: Sun Jan 3 01:06:39 2021 +0100 CI: Enable goostring-format-checker clang checker diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c99520d5..9c143682 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -53,7 +53,9 @@ build_clang_libcpp: script: - git clone --branch ${CI_COMMIT_REF_NAME} --depth 1 ${TEST_DATA_URL} test-data || git clone --depth 1 ${UPSTREAM_TEST_DATA_URL} test-data - mkdir -p build && cd build - - CC=clang CXX=clang++ cmake -G Ninja -DCMAKE_CXX_FLAGS=-stdlib=libc++ -DTESTDATADIR=$PWD/../test-data -DCMAKE_CXX_CLANG_TIDY="clang-tidy;-header-filter=.;-checks=-*,performance-*,bugprone-*,readability-inconsistent-declaration-parameter-name,readability-string-compare,modernize-deprecated-headers,modernize-make-unique,modernize-make-shared,modernize-use-override,modernize-use-equals-delete,modernize-use-emplace,modernize-use-bool-literals,modernize-redundant-void-arg,modernize-loop-convert,-bugprone-narrowing-conversions,-bugprone-macro-parentheses,-bugprone-suspicious-string-compare,-bugprone-incorrect-roundings,-bugprone-undefined-memory-manipulation,-bugprone-sizeof-expression,-bugprone-branch-clone,-bugprone-reserved-identifier,-bugprone-suspicious-include;-warnings-as-errors=*" .. + - apt-get install --yes --no-install-recommends libclang-dev llvm-dev + - clang++ -fPIC -shared -o goostring-format-checker.so ../test/goostring-format-checker/goostring-format-checker.cc -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -I /usr/lib/llvm-11/include/ + - CC=clang CXX=clang++ cmake -G Ninja -DCMAKE_CXX_FLAGS="-stdlib=libc++ -Xclang -load -Xclang $PWD/goostring-format-checker.so -Xclang -add-plugin -Xclang goostring-format-checker" -DTESTDATADIR=$PWD/../test-data -DCMAKE_CXX_CLANG_TIDY="clang-tidy;-header-filter=.;-checks=-*,performance-*,bugprone-*,readability-inconsistent-declaration-parameter-name,readability-string-compare,modernize-deprecated-headers,modernize-make-unique,modernize-make-shared,modernize-use-override,modernize-use-equals-delete,modernize-use-emplace,modernize-use-bool-literals,modernize-redundant-void-arg,modernize-loop-convert,-bugprone-narrowing-conversions,-bugprone-macro-parentheses,-bugprone-suspicious-string-compare,-bugprone-incorrect-roundings,-bugprone-undefined-memory-manipulation,-bugprone-sizeof-expression,-bugprone-branch-clone,-bugprone-reserved-identifier,-bugprone-suspicious-include;-warnings-as-errors=*" .. - ninja - ctest --output-on-failure commit 4d58ff810bb977855c55d4de7d75899aa9ef55b7 Author: Albert Astals Cid <aa...@kde.org> Date: Sun Jan 3 01:05:01 2021 +0100 Change a few variables to types GooString::format knows about None of them is problematic, but being more strict let's use enable the goostring-format-checker clang plugin diff --git a/poppler/CurlCachedFile.cc b/poppler/CurlCachedFile.cc index d867626b..926a6f5b 100644 --- a/poppler/CurlCachedFile.cc +++ b/poppler/CurlCachedFile.cc @@ -6,7 +6,7 @@ // // Copyright 2009 Stefan Thomas <tho...@eload24.com> // Copyright 2010, 2011 Hib Eris <h...@hiberis.nl> -// Copyright 2010, 2019 Albert Astals Cid <aa...@kde.org> +// Copyright 2010, 2019, 2021 Albert Astals Cid <aa...@kde.org> // //======================================================================== @@ -72,12 +72,12 @@ static size_t load_cb(const char *ptr, size_t size, size_t nmemb, void *data) int CurlCachedFileLoader::load(const std::vector<ByteRange> &ranges, CachedFileWriter *writer) { CURLcode r = CURLE_OK; - size_t fromByte, toByte; + unsigned long long fromByte, toByte; for (const ByteRange &bRange : ranges) { fromByte = bRange.offset; toByte = fromByte + bRange.length - 1; - GooString *range = GooString::format("{0:ud}-{1:ud}", fromByte, toByte); + GooString *range = GooString::format("{0:ulld}-{1:ulld}", fromByte, toByte); curl_easy_setopt(curl, CURLOPT_URL, url->c_str()); curl_easy_setopt(curl, CURLOPT_WRITEFUNCTION, load_cb); diff --git a/poppler/DateInfo.cc b/poppler/DateInfo.cc index d277ee74..010a0dfb 100644 --- a/poppler/DateInfo.cc +++ b/poppler/DateInfo.cc @@ -8,6 +8,7 @@ // Copyright (C) 2015 André Esser <bepan...@hotmail.com> // Copyright (C) 2016, 2018 Adrian Johnson <ajohn...@redneon.com> // Copyright (C) 2020 Klarälvdalens Datakonsult AB, a KDAB Group company, <i...@kdab.com>. Work sponsored by Technische Universität Dresden +// Copyright (C) 2021 Albert Astals Cid <aa...@kde.org> // // To see a description of the changes please see the Changelog file that // came with your tarball or type make ChangeLog if you are building from git @@ -86,7 +87,7 @@ GooString *timeToDateString(const time_t *timeA) // calculate time zone offset by comparing local and gmtime time_t value for same // time. const time_t timeg = timegm(&localtime_tm); - const time_t offset = difftime(timeg, timet); // find time zone offset in seconds + const int offset = difftime(timeg, timet); // find time zone offset in seconds if (offset > 0) { dateString->appendf("+{0:02d}'{1:02d}'", offset / 3600, (offset % 3600) / 60); } else if (offset < 0) { diff --git a/poppler/PSOutputDev.cc b/poppler/PSOutputDev.cc index 1b0bb66c..e97cb501 100644 --- a/poppler/PSOutputDev.cc +++ b/poppler/PSOutputDev.cc @@ -15,7 +15,7 @@ // // Copyright (C) 2005 Martin Kretzschmar <mart...@gnome.org> // Copyright (C) 2005, 2006 Kristian Høgsberg <k...@redhat.com> -// Copyright (C) 2006-2009, 2011-2013, 2015-2020 Albert Astals Cid <aa...@kde.org> +// Copyright (C) 2006-2009, 2011-2013, 2015-2021 Albert Astals Cid <aa...@kde.org> // Copyright (C) 2006 Jeff Muizelaar <j...@infidigm.net> // Copyright (C) 2007, 2008 Brad Hards <br...@kde.org> // Copyright (C) 2008, 2009 Koji Otani <s...@bbr.jp> @@ -6601,7 +6601,8 @@ void PSOutputDev::dumpColorSpaceL2(GfxState *state, GfxColorSpace *colorSpace, b if (validref) { name = GooString::format("ICCBased-{0:d}-{1:d}-{2:d}", ref.num, ref.gen, intent); } else { - name = GooString::format("ICCBased-hashed-{0:ullX}-{1:d}", std::hash<GfxLCMSProfilePtr> {}(iccBasedCS->getProfile()), intent); + const unsigned long long hash = std::hash<GfxLCMSProfilePtr> {}(iccBasedCS->getProfile()); + name = GooString::format("ICCBased-hashed-{0:ullX}-{1:d}", hash, intent); } const auto &it = iccEmitted.find(name->toStr()); if (it != iccEmitted.end()) { commit 6b4f07ad1b74a2fa715d76d9da9cef3a2670d92c Author: Albert Astals Cid <aa...@kde.org> Date: Sun Jan 3 01:02:53 2021 +0100 HtmlOutputDev: Fix error() parameter type This would cause a crash if that error() is ever called diff --git a/utils/HtmlOutputDev.cc b/utils/HtmlOutputDev.cc index 30eb464f..8fa1671b 100644 --- a/utils/HtmlOutputDev.cc +++ b/utils/HtmlOutputDev.cc @@ -17,7 +17,7 @@ // All changes made under the Poppler project to this file are licensed // under GPL version 2 or later // -// Copyright (C) 2005-2013, 2016-2020 Albert Astals Cid <aa...@kde.org> +// Copyright (C) 2005-2013, 2016-2021 Albert Astals Cid <aa...@kde.org> // Copyright (C) 2008 Kjartan Maraas <kmar...@gnome.org> // Copyright (C) 2008 Boris Toloknov <tl...@yandex.ru> // Copyright (C) 2008 Haruyuki Kawabe <haruyuki.kaw...@unisys.co.jp> @@ -819,7 +819,7 @@ int HtmlPage::dumpComplexHeaders(FILE *const file, FILE *&pageFile, int page) } if (!pageFile) { - error(errIO, -1, "Couldn't open html file '{0:t}'", pageFileName.c_str()); + error(errIO, -1, "Couldn't open html file '{0:s}'", pageFileName.c_str()); return 1; } _______________________________________________ poppler mailing list poppler@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/poppler