Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package kmime for openSUSE:Factory checked in at 2024-05-27 11:47:15 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/kmime (Old) and /work/SRC/openSUSE:Factory/.kmime.new.24587 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "kmime" Mon May 27 11:47:15 2024 rev:105 rq:1176327 version:24.05.0 Changes: -------- --- /work/SRC/openSUSE:Factory/kmime/kmime.changes 2024-04-15 20:18:17.980207712 +0200 +++ /work/SRC/openSUSE:Factory/.kmime.new.24587/kmime.changes 2024-05-27 11:52:42.602878068 +0200 @@ -1,0 +2,20 @@ +Sun May 19 09:56:27 UTC 2024 - Christophe Marin <christo...@krop.fr> + +- Update to 24.05.0 + * New feature release + * For more details please see: + * https://kde.org/announcements/gear/24.05.0/ +- No code change since 24.04.80 + +------------------------------------------------------------------- +Fri May 3 09:16:12 UTC 2024 - Christophe Marin <christo...@krop.fr> + +- Update to 24.04.80 + * New feature release +- Changes since 24.02.2: + * Use local include + * Remove now unused ContentType::setCategory method + * Deprecate ContentType::contentCategory + * Use a locale for the tests that also works on FreeBSD + +------------------------------------------------------------------- Old: ---- kmime-24.02.2.tar.xz kmime-24.02.2.tar.xz.sig New: ---- kmime-24.05.0.tar.xz kmime-24.05.0.tar.xz.sig ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ kmime.spec ++++++ --- /var/tmp/diff_new_pack.s47hhp/_old 2024-05-27 11:52:44.294940122 +0200 +++ /var/tmp/diff_new_pack.s47hhp/_new 2024-05-27 11:52:44.294940122 +0200 @@ -21,14 +21,14 @@ %bcond_without released Name: kmime -Version: 24.02.2 +Version: 24.05.0 Release: 0 Summary: KDE PIM libraries MIME support License: LGPL-2.1-or-later URL: https://www.kde.org -Source: %{name}-%{version}.tar.xz +Source0: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz %if %{with released} -Source1: %{name}-%{version}.tar.xz.sig +Source1: https://download.kde.org/stable/release-service/%{version}/src/%{name}-%{version}.tar.xz.sig Source2: applications.keyring %endif BuildRequires: doxygen ++++++ kmime-24.02.2.tar.xz -> kmime-24.05.0.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/.gitignore new/kmime-24.05.0/.gitignore --- old/kmime-24.02.2/.gitignore 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/.gitignore 2024-05-11 15:40:03.000000000 +0200 @@ -27,3 +27,4 @@ /cmake-build* .cache Testing/ +/.vscode/ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/CMakeLists.txt new/kmime-24.05.0/CMakeLists.txt --- old/kmime-24.02.2/CMakeLists.txt 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/CMakeLists.txt 2024-05-11 15:40:03.000000000 +0200 @@ -1,10 +1,10 @@ cmake_minimum_required(VERSION 3.16 FATAL_ERROR) -set(PIM_VERSION "6.0.2") +set(PIM_VERSION "6.1.0") project(KMime VERSION ${PIM_VERSION}) # ECM setup -set(KF_MIN_VERSION "5.246.0") +set(KF_MIN_VERSION "6.0.0") find_package(ECM ${KF_MIN_VERSION} CONFIG REQUIRED) set(CMAKE_MODULE_PATH ${KMime_SOURCE_DIR}/cmake ${ECM_MODULE_PATH}) @@ -20,6 +20,7 @@ include(FeatureSummary) include(ECMQtDeclareLoggingCategory) include(ECMDeprecationSettings) +include(ECMFeatureSummary) include(ECMAddQch) set(KMIME_LIB_VERSION ${PIM_VERSION}) @@ -42,7 +43,7 @@ find_package(KF6Codecs ${KF_MIN_VERSION} CONFIG REQUIRED) add_definitions(-DTRANSLATION_DOMAIN=\"libkmime6\") add_definitions(-DQT_NO_CONTEXTLESS_CONNECT) -ecm_set_disabled_deprecation_versions(QT 6.6.0 KF 5.248.0) +ecm_set_disabled_deprecation_versions(QT 6.7.0 KF 6.1.0) option(USE_UNITY_CMAKE_SUPPORT "Use UNITY cmake support (speedup compile time)" OFF) @@ -99,4 +100,4 @@ ) ki18n_install(po) -feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) +ecm_feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/attachmenttest.cpp new/kmime-24.05.0/autotests/attachmenttest.cpp --- old/kmime-24.02.2/autotests/attachmenttest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/attachmenttest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -11,8 +11,8 @@ #include "attachmenttest.h" -#include <kmime_util.h> -#include <kmime_message.h> +#include "kmime_util.h" +#include "kmime_message.h" using namespace KMime; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/contentindextest.cpp new/kmime-24.05.0/autotests/contentindextest.cpp --- old/kmime-24.02.2/autotests/contentindextest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/contentindextest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -6,8 +6,8 @@ #include "contentindextest.h" -#include <kmime_content.h> -#include <kmime_contentindex.h> +#include "kmime_content.h" +#include "kmime_contentindex.h" using namespace KMime; @@ -20,9 +20,9 @@ KMime::ContentIndex ci; QCOMPARE(ci.toString(), QString()); ci.push(1); - QCOMPARE(ci.toString(), QLatin1String("1")); + QCOMPARE(ci.toString(), QLatin1StringView("1")); ci.push(2); - QCOMPARE(ci.toString(), QLatin1String("2.1")); + QCOMPARE(ci.toString(), QLatin1StringView("2.1")); } void ContentIndexTest::testFromString() @@ -81,10 +81,10 @@ ci.push(1); ci.push(2); ci.push(3); - QCOMPARE(ci.toString(), QLatin1String("3.2.1")); + QCOMPARE(ci.toString(), QLatin1StringView("3.2.1")); QCOMPARE(ci.pop(), 3u); QCOMPARE(ci.up(), 1u); - QCOMPARE(ci.toString(), QLatin1String("2")); + QCOMPARE(ci.toString(), QLatin1StringView("2")); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/contenttest.cpp new/kmime-24.05.0/autotests/contenttest.cpp --- old/kmime-24.02.2/autotests/contenttest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/contenttest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -9,9 +9,9 @@ #include <QDebug> #include <QTest> -#include <kmime_content.h> -#include <kmime_headers.h> -#include <kmime_message.h> +#include "kmime_content.h" +#include "kmime_headers.h" +#include "kmime_message.h" using namespace KMime; QTEST_MAIN(ContentTest) @@ -251,7 +251,8 @@ const QStringList lines = QString::fromLatin1(content).split(QStringLiteral("\r\n")); for (const QString &line : lines) { QEXPECT_FAIL("", "KMime does not fold lines longer than 998 characters", Continue); - QVERIFY(line.length() < 998 && !line.isEmpty() && line != QLatin1String("body")); + QVERIFY(line.length() < 998 && !line.isEmpty() && + line != QLatin1StringView("body")); // The test should be (after the expected failure disappears): //QVERIFY( line.length() < 998 ); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/dateformattertest.cpp new/kmime-24.05.0/autotests/dateformattertest.cpp --- old/kmime-24.02.2/autotests/dateformattertest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/dateformattertest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -30,7 +30,8 @@ QCOMPARE(f.dateString(dt), u"Yesterday 12:34â¯PM"); dt.setDate(dt.date().addDays(-1)); - QVERIFY(f.dateString(dt).startsWith(QLocale::c().toString(dt, QLatin1String("dddd")))); + QVERIFY(f.dateString(dt).startsWith( + QLocale::c().toString(dt, QLatin1StringView("dddd")))); } void testLocalizedFormat() @@ -38,7 +39,8 @@ DateFormatter f(DateFormatter::Localized); auto dt = QDateTime(QDate(2015, 5, 26), QTime(12, 34, 56)); - QCOMPARE(f.dateString(dt, QLatin1String("de")), QString::fromLatin1("26.05.15 12:34")); + QCOMPARE(f.dateString(dt, QLatin1StringView("de")), + QString::fromLatin1("26.05.15 12:34")); } void testFormat_data() @@ -65,7 +67,7 @@ DateFormatter f(DateFormatter::Custom); f.setCustomFormat(QStringLiteral("hh:mm Z")); auto dt = QDateTime(QDate(2023, 11, 18), QTime(17, 34, 56), QTimeZone("Europe/Brussels")); - QCOMPARE(f.dateString(dt), QLatin1String("17:34 +0100")); + QCOMPARE(f.dateString(dt), QLatin1StringView("17:34 +0100")); } }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/headerfactorytest.cpp new/kmime-24.05.0/autotests/headerfactorytest.cpp --- old/kmime-24.02.2/autotests/headerfactorytest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/headerfactorytest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -10,8 +10,8 @@ #include <QTest> -#include <kmime_headerfactory_p.h> -#include <kmime_headers.h> +#include "kmime_headerfactory_p.h" +#include "kmime_headers.h" using namespace KMime; using namespace KMime::Headers; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/headertest.cpp new/kmime-24.05.0/autotests/headertest.cpp --- old/kmime-24.02.2/autotests/headertest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/headertest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -8,7 +8,7 @@ #include <QTest> -#include <kmime_headers.h> +#include "kmime_headers.h" using namespace KMime; using namespace KMime::Headers; @@ -85,9 +85,9 @@ QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("j...@where.test")); QCOMPARE(h->displayNames().count(), 1); - QCOMPARE(h->displayNames().first(), QLatin1String("j...@where.test")); - QCOMPARE(h->displayString(), QLatin1String("j...@where.test")); - QCOMPARE(h->asUnicodeString(), QLatin1String("j...@where.test")); + QCOMPARE(h->displayNames().first(), QLatin1StringView("j...@where.test")); + QCOMPARE(h->displayString(), QLatin1StringView("j...@where.test")); + QCOMPARE(h->asUnicodeString(), QLatin1StringView("j...@where.test")); // clearing a header h->clear(); @@ -99,9 +99,10 @@ h->from7BitString("Pete <pete@silly.example>"); QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("pete@silly.example")); - QCOMPARE(h->displayNames().first(), QLatin1String("Pete")); - QCOMPARE(h->displayString(), QLatin1String("Pete")); - QCOMPARE(h->asUnicodeString(), QLatin1String("Pete <pete@silly.example>")); + QCOMPARE(h->displayNames().first(), QLatin1StringView("Pete")); + QCOMPARE(h->displayString(), QLatin1StringView("Pete")); + QCOMPARE(h->asUnicodeString(), + QLatin1StringView("Pete <pete@silly.example>")); QCOMPARE(h->as7BitString(false), QByteArray("Pete <pete@silly.example>")); delete h; @@ -110,8 +111,9 @@ h->from7BitString("jdoe@machine.example (John Doe)"); QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("jdoe@machine.example")); - QCOMPARE(h->displayNames().first(), QLatin1String("John Doe")); - QCOMPARE(h->asUnicodeString(), QLatin1String("John Doe <jdoe@machine.example>")); + QCOMPARE(h->displayNames().first(), QLatin1StringView("John Doe")); + QCOMPARE(h->asUnicodeString(), + QLatin1StringView("John Doe <jdoe@machine.example>")); delete h; // parsing and re-assembling list of different addresses @@ -119,10 +121,11 @@ h->from7BitString("Mary Smith <m...@x.test>, j...@example.org, Who? <o...@y.test>"); QCOMPARE(h->addresses().count(), 3); QStringList names = h->displayNames(); - QCOMPARE(names.takeFirst(), QLatin1String("Mary Smith")); - QCOMPARE(names.takeFirst(), QLatin1String("j...@example.org")); - QCOMPARE(names.takeFirst(), QLatin1String("Who?")); - QCOMPARE(h->displayString(), QLatin1String("Mary Smith, j...@example.org, Who?")); + QCOMPARE(names.takeFirst(), QLatin1StringView("Mary Smith")); + QCOMPARE(names.takeFirst(), QLatin1StringView("j...@example.org")); + QCOMPARE(names.takeFirst(), QLatin1StringView("Who?")); + QCOMPARE(h->displayString(), + QLatin1StringView("Mary Smith, j...@example.org, Who?")); QCOMPARE(h->as7BitString(false), QByteArray("Mary Smith <m...@x.test>, j...@example.org, Who? <o...@y.test>")); delete h; @@ -131,9 +134,9 @@ h->from7BitString(R"("Joe Q. Public" <john.q.pub...@example.com>, <b...@nil.test>, "Giant; \"Big\" Box" <sysservi...@example.net>)"); QCOMPARE(h->addresses().count(), 3); names = h->displayNames(); - QCOMPARE(names.takeFirst(), QLatin1String("Joe Q. Public")); - QCOMPARE(names.takeFirst(), QLatin1String("b...@nil.test")); - QCOMPARE(names.takeFirst(), QLatin1String("Giant; \"Big\" Box")); + QCOMPARE(names.takeFirst(), QLatin1StringView("Joe Q. Public")); + QCOMPARE(names.takeFirst(), QLatin1StringView("b...@nil.test")); + QCOMPARE(names.takeFirst(), QLatin1StringView("Giant; \"Big\" Box")); QCOMPARE(h->as7BitString(false), QByteArray("\"Joe Q. Public\" <john.q.pub...@example.com>, b...@nil.test, \"Giant; \\\"Big\\\" Box\" <sysservi...@example.net>")); delete h; @@ -184,9 +187,9 @@ h->from7BitString("A Group:Chris Jones <c...@a.test>,j...@where.test,John <j...@one.test>;"); QCOMPARE(h->addresses().count(), 3); names = h->displayNames(); - QCOMPARE(names.takeFirst(), QLatin1String("Chris Jones")); - QCOMPARE(names.takeFirst(), QLatin1String("j...@where.test")); - QCOMPARE(names.takeFirst(), QLatin1String("John")); + QCOMPARE(names.takeFirst(), QLatin1StringView("Chris Jones")); + QCOMPARE(names.takeFirst(), QLatin1StringView("j...@where.test")); + QCOMPARE(names.takeFirst(), QLatin1StringView("John")); QCOMPARE(h->as7BitString(false), QByteArray("Chris Jones <c...@a.test>, j...@where.test, John <j...@one.test>")); delete h; @@ -214,11 +217,14 @@ h->from7BitString("v...@censored.serverkompetenz.net,\n presid...@mail2.censored.net;\"Int\\\\\\\\\\\\\\\\\\\\'l\" Lotto Commission. <censo...@yahoo.fr>"); QCOMPARE(h->addresses().count(), 3); names = h->displayNames(); - QCOMPARE(names.takeFirst(), QLatin1String("v...@censored.serverkompetenz.net")); - QCOMPARE(names.takeFirst(), QLatin1String("presid...@mail2.censored.net")); + QCOMPARE(names.takeFirst(), + QLatin1StringView("v...@censored.serverkompetenz.net")); + QCOMPARE(names.takeFirst(), + QLatin1StringView("presid...@mail2.censored.net")); // there is an wrong ' ' after the name, but since the header is completely // broken we can be happy it parses at all... - QCOMPARE(names.takeFirst(), QLatin1String("Int\\\\\\\\\\'l Lotto Commission. ")); + QCOMPARE(names.takeFirst(), + QLatin1StringView("Int\\\\\\\\\\'l Lotto Commission. ")); auto addrs = h->addresses(); QCOMPARE(addrs.takeFirst(), QByteArray("v...@censored.serverkompetenz.net")); QCOMPARE(addrs.takeFirst(), QByteArray("presid...@mail2.censored.net")); @@ -230,7 +236,7 @@ h->from7BitString("\"|<onrad\" <censo...@censored.dy>"); QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("censo...@censored.dy")); - QCOMPARE(h->displayNames().first(), QLatin1String("|<onrad")); + QCOMPARE(h->displayNames().first(), QLatin1StringView("|<onrad")); QCOMPARE(h->as7BitString(false), QByteArray("\"|<onrad\" <censo...@censored.dy>")); delete h; @@ -238,7 +244,8 @@ h = new Headers::Generics::AddressList(); h->from7BitString("first.n...@domain.tld (first name (nickname))"); QCOMPARE(h->displayNames().count(), 1); - QCOMPARE(h->displayNames().first(), QLatin1String("first name (nickname)")); + QCOMPARE(h->displayNames().first(), + QLatin1StringView("first name (nickname)")); QCOMPARE(h->as7BitString(false), QByteArray("\"first name (nickname)\" <first.n...@domain.tld>")); delete h; @@ -271,17 +278,17 @@ QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("j...@where.test.")); QCOMPARE(h->displayNames().count(), 1); - QCOMPARE(h->displayNames().first(), QLatin1String("j...@where.test.")); - QCOMPARE(h->asUnicodeString(), QLatin1String("j...@where.test.")); + QCOMPARE(h->displayNames().first(), QLatin1StringView("j...@where.test.")); + QCOMPARE(h->asUnicodeString(), QLatin1StringView("j...@where.test.")); delete h; h = new Headers::Generics::AddressList(); h->from7BitString("Mary Smith <m...@x.test>, j...@example.org., Who? <o...@y.test>"); QCOMPARE(h->addresses().count(), 3); names = h->displayNames(); - QCOMPARE(names.takeFirst(), QLatin1String("Mary Smith")); - QCOMPARE(names.takeFirst(), QLatin1String("j...@example.org.")); - QCOMPARE(names.takeFirst(), QLatin1String("Who?")); + QCOMPARE(names.takeFirst(), QLatin1StringView("Mary Smith")); + QCOMPARE(names.takeFirst(), QLatin1StringView("j...@example.org.")); + QCOMPARE(names.takeFirst(), QLatin1StringView("Who?")); QCOMPARE(h->as7BitString(false), QByteArray("Mary Smith <m...@x.test>, j...@example.org., Who? <o...@y.test>")); delete h; @@ -310,16 +317,18 @@ QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("joe_sm...@where.test")); QCOMPARE(h->displayNames().count(), 1); - QCOMPARE(h->displayNames().first(), QLatin1String("joe_sm...@where.test")); - QCOMPARE(h->displayString(), QLatin1String("joe_sm...@where.test")); - QCOMPARE(h->asUnicodeString(), QLatin1String("joe_sm...@where.test")); + QCOMPARE(h->displayNames().first(), + QLatin1StringView("joe_sm...@where.test")); + QCOMPARE(h->displayString(), QLatin1StringView("joe_sm...@where.test")); + QCOMPARE(h->asUnicodeString(), QLatin1StringView("joe_sm...@where.test")); // https://bugzilla.novell.com/show_bug.cgi?id=421057 (but apparently this was not the cause of the bug) h->from7BitString("fr...@ce.sco (Francesco)"); QVERIFY(!h->isEmpty()); QCOMPARE(h->mailboxes().count(), 1); - QCOMPARE(h->displayString(), QLatin1String("Francesco")); - QCOMPARE(h->asUnicodeString(), QLatin1String("Francesco <fr...@ce.sco>")); + QCOMPARE(h->displayString(), QLatin1StringView("Francesco")); + QCOMPARE(h->asUnicodeString(), + QLatin1StringView("Francesco <fr...@ce.sco>")); delete h; } @@ -336,8 +345,9 @@ QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("joe_sm...@where.test")); QCOMPARE(h->displayNames().count(), 1); - QCOMPARE(h->displayNames().first(), QLatin1String("joe_sm...@where.test")); - QCOMPARE(h->asUnicodeString(), QLatin1String("joe_sm...@where.test")); + QCOMPARE(h->displayNames().first(), + QLatin1StringView("joe_sm...@where.test")); + QCOMPARE(h->asUnicodeString(), QLatin1StringView("joe_sm...@where.test")); // parse single simple address with display name h->from7BitString("John Smith <joe_sm...@where.test>"); @@ -345,10 +355,11 @@ QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("joe_sm...@where.test")); QCOMPARE(h->displayNames().count(), 1); - QCOMPARE(h->displayNames().first(), QLatin1String("John Smith")); - QCOMPARE(h->asUnicodeString(), QLatin1String("John Smith <joe_sm...@where.test>")); + QCOMPARE(h->displayNames().first(), QLatin1StringView("John Smith")); + QCOMPARE(h->asUnicodeString(), + QLatin1StringView("John Smith <joe_sm...@where.test>")); QCOMPARE(h->mailboxes().first().prettyAddress(Types::Mailbox::QuoteAlways), - QLatin1String("\"John Smith\" <joe_sm...@where.test>")); + QLatin1StringView("\"John Smith\" <joe_sm...@where.test>")); // parse quoted display name with \ in it h->from7BitString(R"("Lastname\, Firstname" <firstname.lastn...@example.com>)"); @@ -356,7 +367,8 @@ QCOMPARE(h->addresses().count(), 1); QCOMPARE(h->addresses().first(), QByteArray("firstname.lastn...@example.com")); QCOMPARE(h->displayNames().count(), 1); - QCOMPARE(h->displayNames().first(), QLatin1String("Lastname, Firstname")); + QCOMPARE(h->displayNames().first(), + QLatin1StringView("Lastname, Firstname")); QCOMPARE(h->asUnicodeString().toLatin1().data(), "Lastname, Firstname <firstname.lastn...@example.com>"); QCOMPARE(h->mailboxes().first().prettyAddress().toLatin1().data(), @@ -475,15 +487,16 @@ // empty header h = new Parametrized(); QVERIFY(h->isEmpty()); - QVERIFY(!h->hasParameter(QLatin1String("foo"))); + QVERIFY(!h->hasParameter(QLatin1StringView("foo"))); // add a parameter h->setParameter(QStringLiteral("filename"), QStringLiteral("bla.jpg")); QVERIFY(!h->isEmpty()); - QVERIFY(h->hasParameter(QLatin1String("filename"))); - QVERIFY(h->hasParameter(QLatin1String("FiLeNaMe"))); - QVERIFY(!h->hasParameter(QLatin1String("bla.jpg"))); - QCOMPARE(h->parameter(QLatin1String("filename")), QLatin1String("bla.jpg")); + QVERIFY(h->hasParameter(QLatin1StringView("filename"))); + QVERIFY(h->hasParameter(QLatin1StringView("FiLeNaMe"))); + QVERIFY(!h->hasParameter(QLatin1StringView("bla.jpg"))); + QCOMPARE(h->parameter(QLatin1StringView("filename")), + QLatin1StringView("bla.jpg")); QCOMPARE(h->as7BitString(false), QByteArray("filename=\"bla.jpg\"")); // clear again @@ -494,14 +507,17 @@ // parse a parameter list h = new Parametrized; h->from7BitString("filename=genome.jpeg;\n modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\""); - QCOMPARE(h->parameter(QLatin1String("filename")), QLatin1String("genome.jpeg")); - QCOMPARE(h->parameter(QLatin1String("modification-date")), QLatin1String("Wed, 12 Feb 1997 16:29:51 -0500")); + QCOMPARE(h->parameter(QLatin1StringView("filename")), + QLatin1StringView("genome.jpeg")); + QCOMPARE(h->parameter(QLatin1StringView("modification-date")), + QLatin1StringView("Wed, 12 Feb 1997 16:29:51 -0500")); QCOMPARE(h->as7BitString(false), QByteArray("filename=\"genome.jpeg\"; modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\"")); delete h; // quoting of whitespaces in parameter value h = new Parametrized(); - h->setParameter(QLatin1String("boundary"), QLatin1String("simple boundary")); + h->setParameter(QLatin1StringView("boundary"), + QLatin1StringView("simple boundary")); QCOMPARE(h->as7BitString(false), QByteArray("boundary=\"simple boundary\"")); delete h; @@ -518,7 +534,7 @@ QVERIFY(h->isEmpty()); // set some values - h->setFilename(QLatin1String("test.jpg")); + h->setFilename(QLatin1StringView("test.jpg")); QVERIFY(h->isEmpty()); QVERIFY(h->as7BitString(false).isEmpty()); h->setDisposition(CDattachment); @@ -538,7 +554,7 @@ h = new ContentDisposition; h->from7BitString("attachment; filename=genome.jpeg;\n modification-date=\"Wed, 12 Feb 1997 16:29:51 -0500\";"); QCOMPARE(h->disposition(), CDattachment); - QCOMPARE(h->filename(), QLatin1String("genome.jpeg")); + QCOMPARE(h->filename(), QLatin1StringView("genome.jpeg")); delete h; // TODO: test for case-insensitive disposition value @@ -632,7 +648,10 @@ h = new ContentType; h->from7BitString("text/plain;\n name*0=\"pin_brief_b...@xx.xxx.censored_Konfigkarte.confi\";\n name*1=\"guration.txt\""); QVERIFY(h->isPlainText()); - QCOMPARE(h->name(), QLatin1String("pin_brief_b...@xx.xxx.censored_Konfigkarte.configuration.txt")); + QCOMPARE( + h->name(), + QLatin1StringView( + "pin_brief_b...@xx.xxx.censored_Konfigkarte.configuration.txt")); delete h; // bug #197958 (name of Content-Type sent by Mozilla Thunderbird are not parsed -- test case generated with v2.0.0.22) @@ -733,8 +752,8 @@ QVERIFY(!h->isEmpty()); QCOMPARE(h->phrases().count(), 2); QStringList phrases = h->phrases(); - QCOMPARE(phrases.takeFirst(), QLatin1String("foo")); - QCOMPARE(phrases.takeFirst(), QLatin1String("bar")); + QCOMPARE(phrases.takeFirst(), QLatin1StringView("foo")); + QCOMPARE(phrases.takeFirst(), QLatin1StringView("bar")); QCOMPARE(h->as7BitString(false), QByteArray("foo, bar")); // clear header @@ -756,7 +775,7 @@ // parse a simple dot atom h->from7BitString("1.0 (mime version)"); QVERIFY(!h->isEmpty()); - QCOMPARE(h->asUnicodeString(), QLatin1String("1.0")); + QCOMPARE(h->asUnicodeString(), QLatin1StringView("1.0")); // clear again h->clear(); @@ -1098,23 +1117,27 @@ QFETCH(QString, displayName); QFETCH(bool, quote); - const QString addrSpec = QLatin1String("exam...@example.com"); - const QString mailbox = (quote ? QLatin1String("\"") : QString()) + displayName + - (quote ? QLatin1String("\"") : QString()) + - QLatin1String(" <") + addrSpec + QLatin1String(">"); + const QString addrSpec = QLatin1StringView("exam...@example.com"); + const QString mailbox = + (quote ? QLatin1StringView("\"") : QString()) + displayName + + (quote ? QLatin1StringView("\"") : QString()) + + QLatin1StringView(" <") + addrSpec + QLatin1StringView(">"); auto h = new Headers::Generics::SingleMailbox(); h->fromUnicodeString(mailbox, "utf-8"); QCOMPARE(h->displayNames().size(), 1); - QCOMPARE(h->displayNames().first().toUtf8(), displayName.remove(QLatin1String("\\")).toUtf8()); + QCOMPARE(h->displayNames().first().toUtf8(), + displayName.remove(QLatin1StringView("\\")).toUtf8()); delete h; h = nullptr; auto h2 = new Headers::Generics::MailboxList(); - h2->fromUnicodeString(mailbox + QLatin1String(",") + mailbox, "utf-8"); + h2->fromUnicodeString(mailbox + QLatin1StringView(",") + mailbox, "utf-8"); QCOMPARE(h2->displayNames().size(), 2); - QCOMPARE(h2->displayNames()[0].toUtf8(), displayName.remove(QLatin1String("\\")).toUtf8()); - QCOMPARE(h2->displayNames()[1].toUtf8(), displayName.remove(QLatin1String("\\")).toUtf8()); + QCOMPARE(h2->displayNames()[0].toUtf8(), + displayName.remove(QLatin1StringView("\\")).toUtf8()); + QCOMPARE(h2->displayNames()[1].toUtf8(), + displayName.remove(QLatin1StringView("\\")).toUtf8()); delete h2; h2 = nullptr; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/messagetest.cpp new/kmime-24.05.0/autotests/messagetest.cpp --- old/kmime-24.02.2/autotests/messagetest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/messagetest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -153,10 +153,10 @@ msg.setContent(mail.toLatin1()); msg.parse(); - QCOMPARE(msg.to()->asUnicodeString(), QLatin1String("he...@test.de")); + QCOMPARE(msg.to()->asUnicodeString(), QLatin1StringView("he...@test.de")); QCOMPARE(msg.from()->asUnicodeString(), QString()); - QCOMPARE(msg.cc()->asUnicodeString(), QLatin1String("mor...@test.de")); - QCOMPARE(msg.subject()->asUnicodeString(), QLatin1String("Test")); + QCOMPARE(msg.cc()->asUnicodeString(), QLatin1StringView("mor...@test.de")); + QCOMPARE(msg.subject()->asUnicodeString(), QLatin1StringView("Test")); QVERIFY(msg.hasHeader("X-Mailer")); QVERIFY(msg.headerByType("X-Mailer")->asUnicodeString().isEmpty()); } @@ -175,9 +175,10 @@ msg.setContent(mail.toLatin1()); msg.parse(); - QCOMPARE(msg.subject()->asUnicodeString(), QLatin1String("Hello World")); + QCOMPARE(msg.subject()->asUnicodeString(), + QLatin1StringView("Hello World")); QCOMPARE(msg.body().data(), "<Body>"); - QCOMPARE(msg.to()->asUnicodeString(), QLatin1String("t...@test.de")); + QCOMPARE(msg.to()->asUnicodeString(), QLatin1StringView("t...@test.de")); } void MessageTest::missingHeadersTest() @@ -185,10 +186,12 @@ // Test that the message body is OK even though some headers are missing KMime::Message msg; const QString body = QStringLiteral("Hi Donald, look at those nice pictures I found!\n"); - const QString content = QLatin1String("From: georgeb...@whitehouse.org\n" - "To: donaldrumsf...@whitehouse.org\n" - "Subject: Cute Kittens\n" - "\n") + body; + const QString content = + QLatin1StringView("From: georgeb...@whitehouse.org\n" + "To: donaldrumsf...@whitehouse.org\n" + "Subject: Cute Kittens\n" + "\n") + + body; msg.setContent(content.toLatin1()); msg.parse(); msg.assemble(); @@ -241,7 +244,7 @@ QCOMPARE(attachment->contentID()->as7BitString(false).data(), "<jaselka1.docx4AECA1F9@9230725.3CDBB752>"); Headers::ContentDisposition *cd = attachment->contentDisposition(false); QVERIFY(cd); - QCOMPARE(cd->filename(), QLatin1String("jaselka 1.docx")); + QCOMPARE(cd->filename(), QLatin1StringView("jaselka 1.docx")); } void MessageTest::testBidiSpoofing() @@ -250,7 +253,9 @@ //const QString PDF( QChar( 0x202C ) ); const QByteArray senderAndRLO = - encodeRFC2047String(QString(QLatin1String("Sender") + RLO + QLatin1String(" <sen...@test.org>")), "utf-8"); + encodeRFC2047String(QString(QLatin1StringView("Sender") + RLO + + QLatin1StringView(" <sen...@test.org>")), + "utf-8"); // The display name of the "From" has an RLO, make sure the KMime parser balances it QByteArray data = @@ -266,7 +271,8 @@ // instead of adding PDF chars, because of broken KHTML. //const QString expectedDisplayName = "\"Sender" + RLO + PDF + "\""; const QString expectedDisplayName = QStringLiteral("Sender"); - const QString expectedMailbox = expectedDisplayName + QLatin1String(" <sen...@test.org>"); + const QString expectedMailbox = + expectedDisplayName + QLatin1StringView(" <sen...@test.org>"); QCOMPARE(msg.from()->addresses().count(), 1); QCOMPARE(msg.from()->asUnicodeString(), expectedMailbox); QCOMPARE(msg.from()->displayNames().first(), expectedDisplayName); @@ -293,9 +299,11 @@ msg.setContent(data); msg.parse(); - QCOMPARE(msg.from()->asUnicodeString(), QLatin1String("f...@bar.com")); - QCOMPARE(msg.subject()->asUnicodeString(), QLatin1String("UTF-16 Test")); - QCOMPARE(msg.decodedText(false, true), QLatin1String("This is UTF-16 Text.")); + QCOMPARE(msg.from()->asUnicodeString(), QLatin1StringView("f...@bar.com")); + QCOMPARE(msg.subject()->asUnicodeString(), + QLatin1StringView("UTF-16 Test")); + QCOMPARE(msg.decodedText(false, true), + QLatin1StringView("This is UTF-16 Text.")); // Add a new To header, for testings auto to = new KMime::Headers::To; @@ -332,9 +340,12 @@ msg.setContent(data); msg.parse(); - QCOMPARE(msg.decodedText(true, false), QLatin1String("Testing Whitespace")); - QCOMPARE(msg.decodedText(true, true), QLatin1String("Testing Whitespace")); - QCOMPARE(msg.decodedText(false, true), QLatin1String("Testing Whitespace \n \n ")); + QCOMPARE(msg.decodedText(true, false), + QLatin1StringView("Testing Whitespace")); + QCOMPARE(msg.decodedText(true, true), + QLatin1StringView("Testing Whitespace")); + QCOMPARE(msg.decodedText(false, true), + QLatin1StringView("Testing Whitespace \n \n ")); QByteArray data2 = "Subject: Test\n" @@ -345,9 +356,12 @@ msg2.setContent(data2); msg2.parse(); - QCOMPARE(msg2.decodedText(true, false), QLatin1String("Testing Whitespace")); - QCOMPARE(msg2.decodedText(true, true), QLatin1String("Testing Whitespace")); - QCOMPARE(msg2.decodedText(false, true), QLatin1String("Testing Whitespace \n \n \n\n\n ")); + QCOMPARE(msg2.decodedText(true, false), + QLatin1StringView("Testing Whitespace")); + QCOMPARE(msg2.decodedText(true, true), + QLatin1StringView("Testing Whitespace")); + QCOMPARE(msg2.decodedText(false, true), + QLatin1StringView("Testing Whitespace \n \n \n\n\n ")); } void MessageTest::testInlineImages() @@ -410,7 +424,8 @@ QCOMPARE(msg.contents()[0]->contentType()->subType().data(), "alternative"); QCOMPARE(msg.contents()[1]->contentType()->isImage(), true); - QCOMPARE(msg.contents()[1]->contentType()->name(), QLatin1String("inlineimage.png")); + QCOMPARE(msg.contents()[1]->contentType()->name(), + QLatin1StringView("inlineimage.png")); QCOMPARE(msg.contents()[1]->contentID()->identifier().data(), "740439759"); QCOMPARE(msg.contents()[1]->contentID()->as7BitString(false).data(), "<740439759>"); } @@ -443,8 +458,11 @@ KMime::Content *attachedMail = msg->contents().at(1); QCOMPARE(attachedMail->contentType()->mimeType().data(), "message/rfc822"); QVERIFY(attachedMail->contentDisposition(false)); - QVERIFY(attachedMail->contentDisposition()->hasParameter(QLatin1String("filename"))); - QVERIFY(attachedMail->contentDisposition()->parameter(QLatin1String("filename")).isEmpty()); + QVERIFY(attachedMail->contentDisposition()->hasParameter( + QLatin1StringView("filename"))); + QVERIFY(attachedMail->contentDisposition() + ->parameter(QLatin1StringView("filename")) + .isEmpty()); } void MessageTest::testBug223509() @@ -489,8 +507,10 @@ QVERIFY(!textContent->bodyIsMessage()); QVERIFY(!textContent->bodyAsMessage()); QVERIFY(!textContent->isTopLevel()); - QCOMPARE(textContent->decodedText(true, true), - QLatin1String("Hi Hans!\nLook at this interesting mail I forwarded to you!")); + QCOMPARE( + textContent->decodedText(true, true), + QLatin1StringView( + "Hi Hans!\nLook at this interesting mail I forwarded to you!")); QCOMPARE(textContent->index().toString().toLatin1().data(), "1"); KMime::Content *messageContent = msg->contents().at(1); @@ -509,7 +529,7 @@ QVERIFY(!encapsulated->bodyAsMessage()); QCOMPARE(encapsulated->subject()->as7BitString(false).data(), "Foo"); QCOMPARE(encapsulated->decodedText(false, false), - QLatin1String("This is the encapsulated message body.")); + QLatin1StringView("This is the encapsulated message body.")); QCOMPARE(encapsulated.data(), messageContent->bodyAsMessage().data()); QCOMPARE(encapsulated.data(), messageContent->contents().constFirst()); QCOMPARE(encapsulated->parent(), messageContent); @@ -592,11 +612,12 @@ void MessageTest::testReturnSameMail() { KMime::Message::Ptr msg = readAndParseMail(QStringLiteral("dontchangemail.mbox")); - QFile file(QLatin1String(TEST_DATA_DIR) + QLatin1String("/mails/dontchangemail.mbox")); + QFile file(QLatin1StringView(TEST_DATA_DIR) + + QLatin1StringView("/mails/dontchangemail.mbox")); QVERIFY(file.open(QIODevice::ReadOnly | QIODevice::Text)); QByteArray fileContent = file.readAll(); QCOMPARE(msg->encodedContent(), fileContent); - QCOMPARE(msg->decodedText(), QLatin1String("")); + QCOMPARE(msg->decodedText(), QLatin1StringView("")); KMime::Message msg2; msg2.setContent(msg->encodedContent()); msg2.parse(); @@ -623,10 +644,11 @@ KMime::Message::Ptr MessageTest::readAndParseMail(const QString &mailFile) const { - QFile file(QLatin1String(TEST_DATA_DIR) + QLatin1String("/mails/") + mailFile); - const bool ok = file.open(QIODevice::ReadOnly); - if (!ok) { - qWarning() << file.fileName() << "not found"; + QFile file(QLatin1StringView(TEST_DATA_DIR) + QLatin1StringView("/mails/") + + mailFile); + const bool ok = file.open(QIODevice::ReadOnly); + if (!ok) { + qWarning() << file.fileName() << "not found"; } Q_ASSERT(ok); const QByteArray data = KMime::CRLFtoLF(file.readAll()); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/parsedatetimetest.cpp new/kmime-24.05.0/autotests/parsedatetimetest.cpp --- old/kmime-24.02.2/autotests/parsedatetimetest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/parsedatetimetest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -8,7 +8,7 @@ #include <QTest> -#include <kmime_header_parsing.h> +#include "kmime_header_parsing.h" using namespace KMime; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/rfc2231test.cpp new/kmime-24.05.0/autotests/rfc2231test.cpp --- old/kmime-24.02.2/autotests/rfc2231test.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/rfc2231test.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -8,7 +8,7 @@ #include "rfc2231test.h" -#include <kmime_util.h> +#include "kmime_util.h" #include <kmime_codecs.cpp> #include <QDebug> using namespace KMime; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/autotests/utiltest.cpp new/kmime-24.05.0/autotests/utiltest.cpp --- old/kmime-24.02.2/autotests/utiltest.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/autotests/utiltest.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -13,7 +13,7 @@ #include <kmime_charfreq.cpp> #include <kmime_util_p.cpp> -#include <kmime_message.h> +#include "kmime_message.h" using namespace KMime; @@ -213,7 +213,7 @@ << QByteArray(R"("John \"the hacker\" Smith")") << false; // Test the whole thing on strings as well, for one example - QString string(QLatin1String("John \"the hacker\" Smith")); + QString string(QLatin1StringView("John \"the hacker\" Smith")); addQuotes(string, false); QCOMPARE(string, QString::fromLatin1("\"John \\\"the hacker\\\" Smith\"")); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/po/he/libkmime6.po new/kmime-24.05.0/po/he/libkmime6.po --- old/kmime-24.02.2/po/he/libkmime6.po 1970-01-01 01:00:00.000000000 +0100 +++ new/kmime-24.05.0/po/he/libkmime6.po 2024-05-11 15:40:03.000000000 +0200 @@ -0,0 +1,92 @@ +# Copyright (C) 2024 This file is copyright: +# This file is distributed under the same license as the kmime package. +# +# SPDX-FileCopyrightText: 2024 Yaron Shahrabani <sh.ya...@gmail.com> +msgid "" +msgstr "" +"Project-Id-Version: kmime\n" +"Report-Msgid-Bugs-To: https://bugs.kde.org\n" +"POT-Creation-Date: 2023-11-20 01:59+0000\n" +"PO-Revision-Date: 2024-03-19 08:09+0200\n" +"Last-Translator: Yaron Shahrabani <sh.ya...@gmail.com>\n" +"Language-Team: צ××ת ×תר××× ×©× KDE ×שר××\n" +"Language: he\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=4; plural=(n == 1) ? 0 : ((n == 2) ? 1 : ((n > 10 && " +"n % 10 == 0) ? 2 : 3));\n" +"X-Generator: Lokalize 23.08.5\n" + +#: kmime_dateformatter.cpp:161 +#, kde-format +msgctxt "invalid time specified" +msgid "unknown" +msgstr "×× ××××¢" + +#: kmime_dateformatter.cpp:175 +#, kde-format +msgid "Today %1" +msgstr "×××× %1" + +#: kmime_dateformatter.cpp:179 +#, kde-format +msgid "Yesterday %1" +msgstr "×ת××× %1" + +#: kmime_dateformatter.cpp:184 +#, kde-format +msgctxt "1. weekday, 2. time" +msgid "%1 %2" +msgstr "%1 %2" + +#: kmime_mdn.cpp:50 +msgid "" +"The message sent on ${date} to ${to} with subject \"${subject}\" has been " +"displayed. This is no guarantee that the message has been read or understood." +msgstr "" +"×××××¢× ×©× ×©××× ×Ö¾${date} ×× ${to} ×¢× ×× ××©× â${subject}â ××צ××. ×× ×× ×××ר " +"ש×××××¢× × ×§×¨×× ×× ×××¤× ××." + +#: kmime_mdn.cpp:55 +msgid "" +"The message sent on ${date} to ${to} with subject \"${subject}\" has been " +"deleted unseen. This is no guarantee that the message will not be \"undeleted" +"\" and nonetheless read later on." +msgstr "" +"×××××¢× ×©× ×©××× ×Ö¾${date} ×× ${to} ×¢× ×× ××©× â${subject}â × ×××§× ××¤× × ×©××צ××. ×× " +"×× ×××ר ש×× ×פשר ×ש××ר ×ת ×××××¢× ××קר×× ×××ª× ×××ר ×××." + +#: kmime_mdn.cpp:61 +msgid "" +"The message sent on ${date} to ${to} with subject \"${subject}\" has been " +"dispatched. This is no guarantee that the message will not be read later on." +msgstr "" +"×××××¢× ×©× ×©××× ×Ö¾${date} ×× ${to} ×¢× ×× ××©× â${subject}â ש××ר×. ×× ×× ×××ר " +"ש×××××¢× ×× ×ª××§×¨× ×××ש×." + +#: kmime_mdn.cpp:66 +msgid "" +"The message sent on ${date} to ${to} with subject \"${subject}\" has been " +"processed by some automatic means." +msgstr "" +"×××××¢× ×©× ×©××× ×Ö¾${date} ×× ${to} ×¢× ×× ××©× â${subject}â ×¢×××× ×¢× ×ª×××××× " +"×××××××××. " + +#: kmime_mdn.cpp:70 +msgid "" +"The message sent on ${date} to ${to} with subject \"${subject}\" has been " +"acted upon. The sender does not wish to disclose more details to you than " +"that." +msgstr "" +"×××××¢× ×©× ×©××× ×Ö¾${date} ×× ${to} ×¢× ×× ××©× â${subject}â ×××ª× ××ת×××ס×ת. ×× ××¢× " +"×× ×¨××¦× ××ש××£ פר××× × ×ספ×× ××¢×ר ×××." + +#: kmime_mdn.cpp:75 +msgid "" +"Generation of a Message Disposition Notification for the message sent on " +"${date} to ${to} with subject \"${subject}\" failed. Reason is given in the " +"Failure: header field below." +msgstr "" +"×צ×רת ×××עת ×ª× ×עת ××××¢× (MDN) ×××××¢× ×©× ×©××× ×Ö¾${date} ×× ${to} ×¢× ×× ××©× " +"â${subject}â × ×ש××. ×ס××× ×©×¡××¤×§× ××פ××¢× ×××תרת ×ש×: (Failure) ××××." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/po/zh_CN/libkmime6.po new/kmime-24.05.0/po/zh_CN/libkmime6.po --- old/kmime-24.02.2/po/zh_CN/libkmime6.po 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/po/zh_CN/libkmime6.po 2024-05-11 15:40:03.000000000 +0200 @@ -3,7 +3,7 @@ "Project-Id-Version: kdeorg\n" "Report-Msgid-Bugs-To: https://bugs.kde.org\n" "POT-Creation-Date: 2023-11-20 01:59+0000\n" -"PO-Revision-Date: 2024-04-08 19:13\n" +"PO-Revision-Date: 2024-04-22 16:01\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_content.cpp new/kmime-24.05.0/src/kmime_content.cpp --- old/kmime-24.02.2/src/kmime_content.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_content.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -496,9 +496,6 @@ } } - // Adjust the Content-Type of the newly created sub-Content. - main->contentType()->setCategory(Headers::CCmixedPart); - // Move the body to the new subcontent. main->setBody(d->body); d->body.clear(); @@ -510,7 +507,6 @@ Headers::ContentType *ct = contentType(); ct->setMimeType("multipart/mixed"); ct->setBoundary(multiPartBoundary()); - ct->setCategory(Headers::CCcontainer); auto cte = contentTransferEncoding(); cte->setEncoding(Headers::CE7Bit); cte->setDecoded(true); @@ -931,7 +927,6 @@ body.clear(); ct->setMimeType("multipart/mixed"); ct->setBoundary(multiPartBoundary()); - ct->setCategory(Headers::CCcontainer); auto cte = q->contentTransferEncoding(); cte->setEncoding(Headers::CE7Bit); cte->setDecoded(true); @@ -950,11 +945,13 @@ for (int i = 0; i < uup.binaryParts().count(); ++i) { auto c = new Content(q); c->contentType()->setMimeType(uup.mimeTypes().at(i)); - c->contentType()->setName(QLatin1String(uup.filenames().at(i)), QByteArray(/*charset*/)); + c->contentType()->setName(QLatin1StringView(uup.filenames().at(i)), + QByteArray(/*charset*/)); c->contentTransferEncoding()->setEncoding(Headers::CEuuenc); c->contentTransferEncoding()->setDecoded(false); c->contentDisposition()->setDisposition(Headers::CDattachment); - c->contentDisposition()->setFilename(QLatin1String(uup.filenames().at(i))); + c->contentDisposition()->setFilename( + QLatin1StringView(uup.filenames().at(i))); // uup.binaryParts().at(i) does no longer have the uuencode header, which makes KCodecs fail since 5c66308c4786ef7fbf77b0e306e73f7d4ac3431b c->setBody(prevBody); c->changeEncoding(Headers::CEbase64); // Convert to base64. @@ -987,7 +984,6 @@ body.clear(); ct->setMimeType("multipart/mixed"); ct->setBoundary(multiPartBoundary()); - ct->setCategory(Headers::CCcontainer); auto cte = q->contentTransferEncoding(); cte->setEncoding(Headers::CE7Bit); cte->setDecoded(true); @@ -1006,10 +1002,12 @@ for (int i = 0; i < yenc.binaryParts().count(); i++) { auto c = new Content(q); c->contentType()->setMimeType(yenc.mimeTypes().at(i)); - c->contentType()->setName(QLatin1String(yenc.filenames().at(i)), QByteArray(/*charset*/)); + c->contentType()->setName(QLatin1StringView(yenc.filenames().at(i)), + QByteArray(/*charset*/)); c->contentTransferEncoding()->setEncoding(Headers::CEbinary); c->contentDisposition()->setDisposition(Headers::CDattachment); - c->contentDisposition()->setFilename(QLatin1String(yenc.filenames().at(i))); + c->contentDisposition()->setFilename( + QLatin1StringView(yenc.filenames().at(i))); c->setBody(yenc.binaryParts().at(i)); // Yenc bodies are binary. c->changeEncoding(Headers::CEbase64); // Convert to base64. multipartContents.append(c); @@ -1034,14 +1032,6 @@ preamble = mpp.preamble(); epilogue = mpp.epilouge(); - // Determine the category of the subparts (used in attachments()). - Headers::contentCategory cat; - if (ct->isSubtype("alternative")) { - cat = Headers::CCalternativePart; - } else { - cat = Headers::CCmixedPart; // Default to "mixed". - } - // Create a sub-Content for every part. Q_ASSERT(multipartContents.isEmpty()); body.clear(); @@ -1051,7 +1041,6 @@ c->setContent(part); c->setFrozen(frozen); c->parse(); - c->contentType()->setCategory(cat); multipartContents.append(c); } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_dateformatter.cpp new/kmime-24.05.0/src/kmime_dateformatter.cpp --- old/kmime-24.02.2/src/kmime_dateformatter.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_dateformatter.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -124,7 +124,7 @@ QString ret = mCustomFormat; if (z != -1) { - ret.replace(z, 1, QLatin1String(zone(t))); + ret.replace(z, 1, QLatin1StringView(zone(t))); } ret = t.toString(ret); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_header_parsing.cpp new/kmime-24.05.0/src/kmime_header_parsing.cpp --- old/kmime-24.02.2/src/kmime_header_parsing.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_header_parsing.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -391,7 +391,7 @@ // inside a quoted-string without it being part of FWS. // We take it verbatim. KMIME_WARN_NON_FOLDING(CRLF); - result += QLatin1String("\r\n"); + result += QLatin1StringView("\r\n"); // the cursor is decremented again, so's we need not // duplicate the whole switch here. "ch" could've been // everything (incl. openChar or closeChar). @@ -569,7 +569,7 @@ return false; } else { if (scursor != send && (*scursor == ' ' || *scursor == '\t')) { - result += QLatin1String(". "); + result += QLatin1StringView(". "); } else { result += QLatin1Char('.'); } @@ -677,7 +677,7 @@ assert(0); } lastWasEncodedWord = false; - result += QLatin1String(tmpAtom.first, tmpAtom.second); + result += QLatin1StringView(tmpAtom.first, tmpAtom.second); } else { if (found == None) { return false; @@ -927,7 +927,8 @@ default: // atom scursor--; // re-set scursor to point to ch again if (parseAtom(scursor, send, tmpAtom, false /* no 8bit */)) { - maybeLocalPart += QLatin1String(tmpAtom.first, tmpAtom.second); + maybeLocalPart += + QLatin1StringView(tmpAtom.first, tmpAtom.second); } else { return false; // parseAtom can only fail if the first char is non-atext. } @@ -1531,14 +1532,15 @@ encodingMode = RFC2231; } // is the value rfc2047-encoded? - if (!(*it).qstring.isNull() && (*it).qstring.contains(QLatin1String("=?"))) { - mode |= Encoded; - encodingMode = RFC2047; + if (!(*it).qstring.isNull() && + (*it).qstring.contains(QLatin1StringView("=?"))) { + mode |= Encoded; + encodingMode = RFC2047; } // is the value continued? - if (attribute.endsWith(QLatin1String("*0"))) { - attribute.chop(2); - mode |= Continued; + if (attribute.endsWith(QLatin1StringView("*0"))) { + attribute.chop(2); + mode |= Continued; } // // decode if necessary: diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_headers.cpp new/kmime-24.05.0/src/kmime_headers.cpp --- old/kmime-24.02.2/src/kmime_headers.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_headers.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -391,7 +391,7 @@ return QString::fromLatin1(mbox.address()); } } - return displayNames().join(QLatin1String(", ")); + return displayNames().join(QLatin1StringView(", ")); } Types::Mailbox::List MailboxList::mailboxes() const @@ -501,7 +501,7 @@ rv.append(mbox.prettyAddress()); } } - return rv.join(QLatin1String(", ")); + return rv.join(QLatin1StringView(", ")); } void AddressList::clear() @@ -567,7 +567,7 @@ QString AddressList::displayString() const { // optimize for single entry and avoid creation of the QStringList in that case? - return displayNames().join(QLatin1String(", ")); + return displayNames().join(QLatin1StringView(", ")); } Types::Mailbox::List AddressList::mailboxes() const @@ -697,7 +697,7 @@ QString PhraseList::asUnicodeString() const { - return d_func()->phraseList.join(QLatin1String(", ")); + return d_func()->phraseList.join(QLatin1StringView(", ")); } void PhraseList::clear() @@ -1626,7 +1626,6 @@ void ContentType::clear() { Q_D(ContentType); - d->category = CCsingle; d->mimeType.clear(); Parametrized::clear(); } @@ -1677,12 +1676,6 @@ void ContentType::setMimeType(const QByteArray & mimeType) { Q_D(ContentType); d->mimeType = mimeType; - - if (isMultipart()) { - d->category = CCcontainer; - } else { - d->category = CCsingle; - } } bool ContentType::isMediatype(const char *mediatype) const { @@ -1790,15 +1783,6 @@ } } -contentCategory ContentType::category() const { - return d_func()->category; -} - -void ContentType::setCategory(contentCategory c) { - Q_D(ContentType); - d->category = c; -} - void ContentType::setPartialParams(int total, int number) { setParameter(QStringLiteral("number"), QString::number(number)); setParameter(QStringLiteral("total"), QString::number(total)); @@ -1841,7 +1825,7 @@ // parameter list eatCFWS(scursor, send, isCRLF); if (scursor == send) { - goto success; // no parameters + return true; // no parameters } if (*scursor != ';') { return false; @@ -1852,13 +1836,6 @@ return false; } - // adjust category -success: - if (isMultipart()) { - d->category = CCcontainer; - } else { - d->category = CCsingle; - } return true; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_headers.h new/kmime-24.05.0/src/kmime_headers.h --- old/kmime-24.02.2/src/kmime_headers.h 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_headers.h 2024-05-11 15:40:03.000000000 +0200 @@ -46,13 +46,6 @@ class BasePrivate; -enum contentCategory { - CCsingle, - CCcontainer, - CCmixedPart, - CCalternativePart -}; - /** Various possible values for the "Content-Transfer-Encoding" header. */ @@ -1117,11 +1110,6 @@ */ void setPartialParams(int total, int number); - // TODO: document - contentCategory category() const; - - void setCategory(contentCategory c); - protected: bool parse(const char *&scursor, const char *const send, bool isCRLF = false) override; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_headers_p.h new/kmime-24.05.0/src/kmime_headers_p.h --- old/kmime-24.02.2/src/kmime_headers_p.h 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_headers_p.h 2024-05-11 15:40:03.000000000 +0200 @@ -124,11 +124,9 @@ { public: ContentTypePrivate() : - Generics::ParametrizedPrivate(), - category(CCsingle) + Generics::ParametrizedPrivate() {} QByteArray mimeType; - contentCategory category; }; class ContentDispositionPrivate : public Generics::ParametrizedPrivate diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_message.h new/kmime-24.05.0/src/kmime_message.h --- old/kmime-24.02.2/src/kmime_message.h 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_message.h 2024-05-11 15:40:03.000000000 +0200 @@ -31,7 +31,6 @@ * Headers::ContentType *ct = m->contentType(); * ct->setMimeType( "multipart/mixed" ); * ct->setBoundary( multiPartBoundary() ); - * ct->setCategory( Headers::CCcontainer ); * Headers::ContentTransferEncoding *cte = m->contentTransferEncoding(); * cte->setEncoding(Headers::CE7Bit); * cte->setDecoded(true); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_parsers.cpp new/kmime-24.05.0/src/kmime_parsers.cpp --- old/kmime-24.02.2/src/kmime_parsers.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_parsers.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -228,7 +228,8 @@ if ((!containsBegin || !containsEnd) && !m_subject.isNull()) { // message may be split up => parse subject - const auto match = subjectRegex.match(QLatin1String(m_subject)); + const auto match = + subjectRegex.match(QLatin1StringView(m_subject)); pos = match.capturedStart(0); len = match.capturedLength(0); if (pos != -1) { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_types.cpp new/kmime-24.05.0/src/kmime_types.cpp --- old/kmime-24.02.2/src/kmime_types.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_types.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -30,11 +30,11 @@ // Fortunately, the presence of IDNA is readily detected with a substring match... static inline QString QUrl_fromAce_wrapper(const QString &domain) { - if (domain.contains(QLatin1String("xn--"))) { - return QUrl::fromAce(domain.toLatin1()); - } else { - return domain; - } + if (domain.contains(QLatin1StringView("xn--"))) { + return QUrl::fromAce(domain.toLatin1()); + } else { + return domain; + } } static QString addr_spec_as_string(const AddrSpec &as, bool pretty) @@ -154,7 +154,7 @@ QString Mailbox::prettyAddress(Quoting quoting) const { if (!hasName()) { - return QLatin1String(address()); + return QLatin1StringView(address()); } QString s = name(); if (quoting != QuoteNever) { @@ -162,7 +162,8 @@ } if (hasAddress()) { - s += QLatin1String(" <") + QLatin1String(address()) + QLatin1Char('>'); + s += + QLatin1StringView(" <") + QLatin1StringView(address()) + QLatin1Char('>'); } return s; } @@ -226,7 +227,7 @@ for (const Types::Mailbox &mbox : mailboxes) { rv.append(mbox.prettyAddress()); } - return rv.join(QLatin1String(", ")); + return rv.join(QLatin1StringView(", ")); } } // namespace Types diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/kmime-24.02.2/src/kmime_util.cpp new/kmime-24.05.0/src/kmime_util.cpp --- old/kmime-24.02.2/src/kmime_util.cpp 2024-04-09 05:18:52.000000000 +0200 +++ new/kmime-24.05.0/src/kmime_util.cpp 2024-05-11 15:40:03.000000000 +0200 @@ -214,7 +214,8 @@ return false; } const auto fileName = cd->filename().toLower(); - return fileName == QLatin1String("msg.asc") || fileName == QLatin1String("encrypted.asc"); + return fileName == QLatin1StringView("msg.asc") || + fileName == QLatin1StringView("encrypted.asc"); } return false;