diff options
author | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-09-09 18:58:38 +0100 |
---|---|---|
committer | Dan Goodliffe <dan@randomdan.homeip.net> | 2021-09-09 18:58:38 +0100 |
commit | 779268ce0990e7ff3c1735392899eced4c89f448 (patch) | |
tree | 1c93ca65947ebf9f6bfd64f92b1528b62ed7f4d1 | |
parent | Add -Wold-style-cast and fix up mess, mostly glib stuff (diff) | |
download | libadhocutil-779268ce0990e7ff3c1735392899eced4c89f448.tar.bz2 libadhocutil-779268ce0990e7ff3c1735392899eced4c89f448.tar.xz libadhocutil-779268ce0990e7ff3c1735392899eced4c89f448.zip |
Fix conversions in everything but uriParse
-rw-r--r-- | libadhocutil/compileTimeFormatter.h | 2 | ||||
-rw-r--r-- | libadhocutil/ctf-impl/printf-compat.h | 8 | ||||
-rw-r--r-- | libadhocutil/curlHandle.cpp | 2 | ||||
-rw-r--r-- | libadhocutil/fileUtils.cpp | 5 | ||||
-rw-r--r-- | libadhocutil/fileUtils.h | 3 | ||||
-rw-r--r-- | libadhocutil/unittests/testCompileTimeFormatter.cpp | 38 | ||||
-rw-r--r-- | libadhocutil/unittests/testFileUtils.cpp | 2 |
7 files changed, 34 insertions, 26 deletions
diff --git a/libadhocutil/compileTimeFormatter.h b/libadhocutil/compileTimeFormatter.h index fbbd7bc..de7376b 100644 --- a/libadhocutil/compileTimeFormatter.h +++ b/libadhocutil/compileTimeFormatter.h @@ -140,7 +140,7 @@ namespace AdHoc { template<typename stream, typename char_type> static inline void - appendStream(stream & s, const char_type * p, size_t n) + appendStream(stream & s, const char_type * p, std::streamsize n) { s.write(p, n); } diff --git a/libadhocutil/ctf-impl/printf-compat.h b/libadhocutil/ctf-impl/printf-compat.h index f05ba30..872f9af 100644 --- a/libadhocutil/ctf-impl/printf-compat.h +++ b/libadhocutil/ctf-impl/printf-compat.h @@ -98,7 +98,7 @@ namespace AdHoc { StreamWriterT('n') { template<typename... Pn> static inline void - write(stream & s, int * n, const Pn &... pn) + write(stream & s, std::streamoff * n, const Pn &... pn) { BOOST_ASSERT_MSG(n, "%n conversion requires non-null parameter"); *n = streamLength(s); @@ -180,6 +180,12 @@ namespace AdHoc { static inline void write(stream & s, int l, const std::string_view & p, const Pn &... pn) { + return write(s, static_cast<size_t>(l), p, pn...); + } + template<typename... Pn> + static inline void + write(stream & s, size_t l, const std::string_view & p, const Pn &... pn) + { s << p.substr(0, l); s.copyfmt(std::ios(nullptr)); StreamWriter::next(s, pn...); diff --git a/libadhocutil/curlHandle.cpp b/libadhocutil/curlHandle.cpp index 1df5f12..bcb5fa0 100644 --- a/libadhocutil/curlHandle.cpp +++ b/libadhocutil/curlHandle.cpp @@ -93,7 +93,7 @@ namespace AdHoc::Net { if (res != CURLE_OK) { long http_code = 0; if (curl_easy_getinfo(curl_handle, CURLINFO_RESPONSE_CODE, &http_code) == CURLE_OK) { - throw AdHoc::Net::CurlException(res, curl_easy_strerror(res), http_code); + throw AdHoc::Net::CurlException(res, curl_easy_strerror(res), static_cast<short>(http_code)); } throw AdHoc::Net::CurlException(res, curl_easy_strerror(res), IceUtil::None); } diff --git a/libadhocutil/fileUtils.cpp b/libadhocutil/fileUtils.cpp index 785fb38..4ebcbf2 100644 --- a/libadhocutil/fileUtils.cpp +++ b/libadhocutil/fileUtils.cpp @@ -120,13 +120,14 @@ namespace AdHoc::FileUtils { MemMap::~MemMap() { - munmap(const_cast<void *>(data), st.st_size); + munmap(const_cast<void *>(data), static_cast<size_t>(st.st_size)); } void * MemMap::setupMapInt(int flags) const { - return mmap(nullptr, st.st_size, (flags & (O_WRONLY | O_RDWR)) ? PROT_WRITE : PROT_READ, MAP_SHARED, fh, 0); + return mmap(nullptr, static_cast<size_t>(st.st_size), (flags & (O_WRONLY | O_RDWR)) ? PROT_WRITE : PROT_READ, + MAP_SHARED, fh, 0); } void * diff --git a/libadhocutil/fileUtils.h b/libadhocutil/fileUtils.h index 59bc41e..f0a3cb2 100644 --- a/libadhocutil/fileUtils.h +++ b/libadhocutil/fileUtils.h @@ -169,7 +169,8 @@ namespace AdHoc { [[nodiscard]] auto sv() const { - return std::basic_string_view<T>(static_cast<const T *>(data), st.st_size / sizeof(T)); + return std::basic_string_view<T>( + static_cast<const T *>(data), static_cast<std::string_view::size_type>(st.st_size) / sizeof(T)); } #endif diff --git a/libadhocutil/unittests/testCompileTimeFormatter.cpp b/libadhocutil/unittests/testCompileTimeFormatter.cpp index ce782fc..a6968c4 100644 --- a/libadhocutil/unittests/testCompileTimeFormatter.cpp +++ b/libadhocutil/unittests/testCompileTimeFormatter.cpp @@ -82,7 +82,7 @@ namespace AdHoc { StreamWriterT('r', 'a') { template<typename P, typename... Pn> static void - write(stream & s, int width, const P & p, const Pn &... pn) + write(stream & s, size_t width, const P & p, const Pn &... pn) { std::stringstream buf; buf << p; @@ -273,7 +273,7 @@ BOOST_AUTO_TEST_SUITE_END(); BOOST_AUTO_TEST_CASE(customMultiArgRightAlign) { std::stringstream buf1, buf2, buf3; - const int width = 20; + const auto width = 20U; Formatter<formatStringMultiArg>::write(buf1, width, "something"); Formatter<formatStringMultiArg>::write(buf2, width, "something else"); Formatter<formatStringMultiArg>::write(buf3, width, 123.45); @@ -284,7 +284,7 @@ BOOST_AUTO_TEST_CASE(customMultiArgRightAlign) BOOST_AUTO_TEST_CASE(get) { - auto s = Formatter<formatStringMultiArg>::get(20, "something else"); + auto s = Formatter<formatStringMultiArg>::get(20U, "something else"); BOOST_CHECK_EQUAL(s, "value something else"); } @@ -303,9 +303,9 @@ constexpr namespace AdHoc { template<> inline void - appendStream(FILE & strm, const char * const p, size_t n) + appendStream(FILE & strm, const char * const p, std::streamsize n) { - BOOST_VERIFY(fwrite(p, n, 1, &strm) == 1); + BOOST_VERIFY(fwrite(p, static_cast<size_t>(n), 1, &strm) == 1); } } @@ -390,18 +390,18 @@ GLIBC_FMT_TEST(d6, "in %lld.", -123456LL); GLIBC_FMT_TEST(i1, "in %i.", 123); GLIBC_FMT_TEST(i2, "in %i.", -123); -GLIBC_FMT_TEST(x1, "in %x.", 123); -GLIBC_FMT_TEST(x2, "in %x %d.", 123, 256); -GLIBC_FMT_TEST(x3, "in %d %x.", 123, 1024); -GLIBC_FMT_TEST(x4, "in %X %x.", 123, 13); -GLIBC_FMT_TEST(x5, "in %X %s.", 123, "miXED case after UPPER X"); -GLIBC_FMT_TEST(x6, "in %#x.", 123); -GLIBC_FMT_TEST(x7, "in %#X.", 123); -GLIBC_FMT_TEST(x8, "in %#X %x.", 123, 150); +GLIBC_FMT_TEST(x1, "in %x.", 123U); +GLIBC_FMT_TEST(x2, "in %x %d.", 123U, 256); +GLIBC_FMT_TEST(x3, "in %d %x.", 123, 1024U); +GLIBC_FMT_TEST(x4, "in %X %x.", 123U, 13U); +GLIBC_FMT_TEST(x5, "in %X %s.", 123U, "miXED case after UPPER X"); +GLIBC_FMT_TEST(x6, "in %#x.", 123U); +GLIBC_FMT_TEST(x7, "in %#X.", 123U); +GLIBC_FMT_TEST(x8, "in %#X %x.", 123U, 150U); -GLIBC_FMT_TEST(o1, "in %o.", 123); -GLIBC_FMT_TEST(o2, "in %o %d.", 123, 256); -GLIBC_FMT_TEST(o3, "in %d %o.", 123, 1024); +GLIBC_FMT_TEST(o1, "in %o.", 123U); +GLIBC_FMT_TEST(o2, "in %o %d.", 123U, 256); +GLIBC_FMT_TEST(o3, "in %d %o.", 123, 1024U); GLIBC_FMT_TEST(a1, "in %a.", 123.456789); GLIBC_FMT_TEST(a2, "in %a.", -123.456789); @@ -439,13 +439,13 @@ GLIBC_FMT_TEST(g6, "in %G.", -123.456789); GLIBC_FMT_TEST(g7, "in %g.", 123456789.123); GLIBC_FMT_TEST(g8, "in %g.", -123456789.123); -GLIBC_FMT_TEST(fmtlibt_fmt, "%0.10f:%04d:%+g:%s:%p:%c:%%\n", 1.234, 42, 3.13, "str", reinterpret_cast<void *>(1000), - static_cast<int>('X')); +GLIBC_FMT_TEST( + fmtlibt_fmt, "%0.10f:%04d:%+g:%s:%p:%c:%%\n", 1.234, 42, 3.13, "str", reinterpret_cast<void *>(1000), 'X'); AdHocFormatter(chars_written_fmt, "%n %s %n %d %n"); BOOST_AUTO_TEST_CASE(chars_written) { - int a = -1, b = -1, c = -1; + std::streamoff a = -1, b = -1, c = -1; auto s = chars_written_fmt::get(&a, "some string", &b, 10, &c); BOOST_CHECK_EQUAL(s, " some string 10 "); BOOST_CHECK_EQUAL(a, 0); diff --git a/libadhocutil/unittests/testFileUtils.cpp b/libadhocutil/unittests/testFileUtils.cpp index e672951..94e4850 100644 --- a/libadhocutil/unittests/testFileUtils.cpp +++ b/libadhocutil/unittests/testFileUtils.cpp @@ -117,7 +117,7 @@ BOOST_AUTO_TEST_CASE(memmap) auto i = f.sv<int>(); BOOST_REQUIRE_EQUAL(i[0], *reinterpret_cast<const int *>("#def")); BOOST_REQUIRE_EQUAL(i[1], *reinterpret_cast<const int *>("ine ")); - BOOST_REQUIRE_EQUAL(i.length(), f.getStat().st_size / sizeof(int)); + BOOST_REQUIRE_EQUAL(i.length(), static_cast<size_t>(f.getStat().st_size) / sizeof(int)); } BOOST_AUTO_TEST_CASE(openmode) |