aboutsummaryrefslogtreecommitdiff
path: root/src/QXmppSrvInfo.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/QXmppSrvInfo.cpp')
-rw-r--r--src/QXmppSrvInfo.cpp19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/QXmppSrvInfo.cpp b/src/QXmppSrvInfo.cpp
index 4a63c175..18ea551e 100644
--- a/src/QXmppSrvInfo.cpp
+++ b/src/QXmppSrvInfo.cpp
@@ -195,12 +195,19 @@ QXmppSrvInfo QXmppSrvInfo::fromName(const QString &dname)
return result;
}
- // extract results
- QXmppSrvRecord record;
- record.setHostName(QString::fromUtf8((const char*)dnsResponse().Target().Ptr(),
- dnsResponse().Target().Length()));
- record.setPort(dnsResponse().Port());
- result.m_records.append(record);
+ /* extract results */
+ while (err == KErrNone)
+ {
+ QXmppSrvRecord record;
+ record.setHostName(QString::fromUtf8((const char*)dnsResponse().Target().Ptr(),
+ dnsResponse().Target().Length()));
+ record.setPort(dnsResponse().Port());
+ record.setPriority(dnsResponse().Priority());
+ record.setWeight(dnsResponse().Weight());
+ result.m_records.append(record);
+
+ err = dnsResolver.QueryGetNext(dnsResponse);
+ }
#else
unsigned char response[PACKETSZ];