From kde-commits Mon Jan 18 04:21:45 2010 From: Germain Garand Date: Mon, 18 Jan 2010 04:21:45 +0000 To: kde-commits Subject: KDE/kdelibs/kio/kio Message-Id: <1263788505.703621.401.nullmailer () svn ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=126378859428156 SVN commit 1076386 by ggarand: - remove optional whitespace from value of Accept-Language header for better compatibility with Gecko (#220677) - do correct prioritization of languages inside Accept-Language as defined by section 14.4 of RFC 2616 BUG: 220677 M +16 -2 kprotocolmanager.cpp --- trunk/KDE/kdelibs/kio/kio/kprotocolmanager.cpp #1076385:1076386 @@ -556,8 +556,22 @@ languageListFinal += langs; } - // The header is composed of comma separated languages. - QString header = languageListFinal.join(", "); + // The header is composed of comma separated languages, with an optional + // associated priority estimate (q=1..0) defaulting to 1. + // As our language tags are already sorted by priority, we'll just decrease + // the value evenly + int prio = 10; + QString header; + foreach (const QString &lang,languageListFinal) { + header += lang; + if (prio < 10) + header += QString(";q=0.%1").arg(prio); + // do not add cosmetic whitespace in here : it is less compatible (#220677) + header += ","; + if (prio > 1) + --prio; + } + header.chop(1); // Some of the languages may have country specifier delimited by // underscore, or modifier delimited by at-sign.