[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-pim
Subject: [Kde-pim] [PATCH] Safe QByteArray->UTF8 conversion
From: Szombathelyi "György" <gyurco () freemail ! hu>
Date: 2004-02-22 16:11:52
Message-ID: 200402221711.53384.gyurco () freemail ! hu
[Download RAW message or body]
Hello!
I think this patch should be committed to both HEAD and 3.2 branches. It adds
safety to QByteArray(which may not terminated by '\0') to QString::fromUtf8()
conversion.
Bye,
György
____________________________________________________________________
Miert fizetsz az internetert? Korlatlan, ingyenes internet hozzaferes a FreeStarttol.
Probald ki most! http://www.freestart.hu
["kaddressbook.diff" (text/x-diff)]
Index: ldapsearchdialog.cpp
===================================================================
RCS file: /home/kde/kdepim/kaddressbook/ldapsearchdialog.cpp,v
retrieving revision 1.13
diff -u -r1.13 ldapsearchdialog.cpp
--- ldapsearchdialog.cpp 12 Feb 2004 00:24:44 -0000 1.13
+++ ldapsearchdialog.cpp 22 Feb 2004 16:07:32 -0000
@@ -36,6 +36,11 @@
#include "ldapsearchdialog.h"
+static QString asUtf8( const QByteArray &val )
+{
+ return QString::fromUtf8( val.data(), val.size() );
+}
+
static QString join( const KABC::LdapAttrValue& lst, const QString& sep )
{
QString res;
@@ -44,7 +49,7 @@
if ( alredy )
res += sep;
alredy = TRUE;
- res += QString::fromUtf8( *it );
+ res += asUtf8( *it );
}
return res;
}
@@ -371,9 +376,9 @@
ContactListItem* cli = static_cast<ContactListItem*>( \
mResultListView->firstChild() ); while ( cli ) {
if ( cli->isSelected() ) {
- QString email = QString::fromUtf8( cli->mAttrs[ "mail" ].first() \
).stripWhiteSpace(); + QString email = asUtf8( cli->mAttrs[ "mail" ].first() \
).stripWhiteSpace(); if ( !email.isEmpty() ) {
- QString name = QString::fromUtf8( cli->mAttrs[ "cn" ].first() \
).stripWhiteSpace(); + QString name = asUtf8( cli->mAttrs[ "cn" ].first() \
).stripWhiteSpace(); if ( name.isEmpty() ) {
result << email;
} else {
@@ -405,53 +410,53 @@
KABC::Addressee addr;
// name
- addr.setNameFromString( QString::fromUtf8( cli->mAttrs["cn"].first() ) );
+ addr.setNameFromString( asUtf8( cli->mAttrs["cn"].first() ) );
// email
KABC::LdapAttrValue lst = cli->mAttrs["mail"];
KABC::LdapAttrValue::ConstIterator it = lst.begin();
bool pref = true;
if ( it != lst.end() ) {
- addr.insertEmail( QString::fromUtf8( *it ), pref );
+ addr.insertEmail( asUtf8( *it ), pref );
pref = false;
++it;
}
- addr.setOrganization(QString::fromUtf8( cli->mAttrs[ "o" ].first() ) );
+ addr.setOrganization( asUtf8( cli->mAttrs[ "o" ].first() ) );
if (addr.organization().isEmpty())
- addr.setOrganization(QString::fromUtf8( cli->mAttrs[ "Company" ].first() ) \
); + addr.setOrganization( asUtf8( cli->mAttrs[ "Company" ].first() ) );
- addr.insertCustom("KADDRESSBOOK", "X-Department", QString::fromUtf8( \
cli->mAttrs[ "department" ].first() ) ); + addr.insertCustom("KADDRESSBOOK", \
"X-Department", asUtf8( cli->mAttrs[ "department" ].first() ) );
// Address
KABC::Address workAddr(KABC::Address::Work);
- workAddr.setStreet(QString::fromUtf8( cli->mAttrs[ "street" ].first()) );
- workAddr.setLocality(QString::fromUtf8( cli->mAttrs[ "l" ].first()) );
- workAddr.setRegion(QString::fromUtf8( cli->mAttrs[ "st" ].first()));
- workAddr.setPostalCode(QString::fromUtf8( cli->mAttrs[ "postalCode" ].first()) \
);
- workAddr.setCountry(QString::fromUtf8( cli->mAttrs[ "co" ].first()) );
+ workAddr.setStreet( asUtf8( cli->mAttrs[ "street" ].first()) );
+ workAddr.setLocality( asUtf8( cli->mAttrs[ "l" ].first()) );
+ workAddr.setRegion( asUtf8( cli->mAttrs[ "st" ].first()));
+ workAddr.setPostalCode( asUtf8( cli->mAttrs[ "postalCode" ].first()) );
+ workAddr.setCountry( asUtf8( cli->mAttrs[ "co" ].first()) );
addr.insertAddress( workAddr );
// phone
- KABC::PhoneNumber homeNr = QString::fromUtf8( cli->mAttrs[ "homePhone" \
].first() ); + KABC::PhoneNumber homeNr = asUtf8( cli->mAttrs[ "homePhone" \
].first() ); homeNr.setType(KABC::PhoneNumber::Home);
addr.insertPhoneNumber(homeNr);
- KABC::PhoneNumber workNr = QString::fromUtf8( cli->mAttrs[ "telephoneNumber" \
].first() ); + KABC::PhoneNumber workNr = asUtf8( cli->mAttrs[ \
"telephoneNumber" ].first() ); workNr.setType(KABC::PhoneNumber::Work);
addr.insertPhoneNumber(workNr);
- KABC::PhoneNumber faxNr = QString::fromUtf8( cli->mAttrs[ \
"facsimileTelephoneNumber" ].first() ); + KABC::PhoneNumber faxNr = asUtf8( \
cli->mAttrs[ "facsimileTelephoneNumber" ].first() ); \
faxNr.setType(KABC::PhoneNumber::Fax); addr.insertPhoneNumber(faxNr);
- KABC::PhoneNumber cellNr = QString::fromUtf8( cli->mAttrs[ "mobile" ].first() \
); + KABC::PhoneNumber cellNr = asUtf8( cli->mAttrs[ "mobile" ].first() );
cellNr.setType(KABC::PhoneNumber::Cell);
addr.insertPhoneNumber(cellNr);
- KABC::PhoneNumber pagerNr = QString::fromUtf8( cli->mAttrs[ "pager" ].first() \
); + KABC::PhoneNumber pagerNr = asUtf8( cli->mAttrs[ "pager" ].first() );
pagerNr.setType(KABC::PhoneNumber::Pager);
addr.insertPhoneNumber(pagerNr);
_______________________________________________
kde-pim mailing list
kde-pim@mail.kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
kde-pim home page at http://pim.kde.org/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic