From 06e9fe63da6de85e270382de96d7fa4b2422d766 Mon Sep 17 00:00:00 2001 From: tastytea Date: Sun, 29 Dec 2019 01:05:08 +0100 Subject: [PATCH] Consider Subject (CW) size when calculating total size. --- src/mastoapi.cpp | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/mastoapi.cpp b/src/mastoapi.cpp index 15fca41..60980e2 100644 --- a/src/mastoapi.cpp +++ b/src/mastoapi.cpp @@ -55,7 +55,15 @@ void MastoAPI::post_item(const Item &item) }()}; status.append("\n\n" + item.link); - const size_t len{status.size()}; + const size_t len_status{[&] + { + if (_profile.titles_as_cw) + { + // Subjects (CWs) count into the post length. + return status.size() + item.title.size(); + } + return status.size(); + }()}; const size_t len_append{[&] { if (_profile.append.empty()) @@ -67,7 +75,7 @@ void MastoAPI::post_item(const Item &item) const size_t len_max{_profile.max_size}; constexpr string_view omission = " […]"; - if ((len + len_append) > len_max) + if ((len_status + len_append) > len_max) { status.resize(len_max - len_append - omission.size()); @@ -85,6 +93,7 @@ void MastoAPI::post_item(const Item &item) { status.append("\n\n" + _profile.append); } + BOOST_LOG_TRIVIAL(debug) << "Status length: " << status.size(); Mastodon::parameters params{{"status", {status}}}; if (_profile.titles_as_cw)