Репозитории ALT
5.1: | 3.5.10-alt4 |
4.1: | 3.5.10-alt2.M41.1 |
4.0: | 3.5.9-alt0.M40.1 |
3.0: | 3.4.1-alt4 |
+backports: | 3.5.6-alt2.0.M30 |
Группа :: Графические оболочки/KDE
Пакет: kdenetwork
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: kinetd-3.5.7-alt-optimize.patch
Скачать
Скачать
--- kdenetwork-3.5.7/krfb/kinetd/kinetd.h~ 2005-09-10 12:20:14 +0400
+++ kdenetwork-3.5.7/krfb/kinetd/kinetd.h 2007-09-17 15:39:19 +0400
@@ -82,7 +82,7 @@ public:
QDateTime serviceLifetimeEnd();
bool isEnabled();
int port();
- QStringList processServiceTemplate(const QString &a);
+ QStringList processServiceTemplate(const QString &a, unsigned int num=0);
bool setPort(int port = -1, int autoProbeRange = 1);
void refreshRegistration();
--- kdenetwork-3.5.7/krfb/kinetd/kinetd.cpp~ 2006-10-01 21:26:23 +0400
+++ kdenetwork-3.5.7/krfb/kinetd/kinetd.cpp 2007-09-17 15:50:12 +0400
@@ -167,12 +167,12 @@ void PortListener::loadConfig(KService::
for (QStringList::iterator it=attrs.begin();
it!=attrs.end();it++) {
QString key = (*it).section('=',0,0);
- QString value = processServiceTemplate((*it).section('=',1))[0];
+ QString value = processServiceTemplate((*it).section('=',1),1)[0];
if (!key.isEmpty()) m_dnssdData[key]=value;
}
}
if (vdname.isValid() && vdtype.isValid()) {
- m_dnssdName = processServiceTemplate(vdname.toString())[0];
+ m_dnssdName = processServiceTemplate(vdname.toString(),1)[0];
m_dnssdType = vdtype.toString();
m_dnssdRegister = true;
kdDebug() << "DNS-SD register is enabled\n";
@@ -246,11 +246,12 @@ int PortListener::port() {
return m_port;
}
-QStringList PortListener::processServiceTemplate(const QString &a) {
+QStringList PortListener::processServiceTemplate(const QString &a, unsigned int num) {
+ unsigned int n = 0;
QStringList l;
QValueVector<KInetInterface> v = KInetInterface::getAllInterfaces(false);
QValueVector<KInetInterface>::Iterator it = v.begin();
- while (it != v.end()) {
+ while (it != v.end() && (num == 0 || n < num)) {
KInetSocketAddress *address = (*(it++)).address();
if (!address)
continue;
@@ -262,6 +263,7 @@ QStringList PortListener::processService
.replace(QRegExp("%u"), KServiceRegistry::encodeAttributeValue(u.loginName()))
.replace(QRegExp("%i"), KServiceRegistry::encodeAttributeValue(m_uuid))
.replace(QRegExp("%f"), KServiceRegistry::encodeAttributeValue(u.fullName())));
+ n++;
}
return l;
}