diff options
| author | 2010-06-02 14:57:24 +0000 | |
|---|---|---|
| committer | 2010-06-02 14:57:24 +0000 | |
| commit | 0edeeda7aa5ba240293cc2055666042b3e1a59fc (patch) | |
| tree | 25c39452c7762a4eeafb836b8dab7d84820fe40f /src/modules/dcc/broker.cpp | |
| parent | Some fixes in classeditor + code improvements in tablewidget kvs class (diff) | |
| download | KVIrc-0edeeda7aa5ba240293cc2055666042b3e1a59fc.tar.gz KVIrc-0edeeda7aa5ba240293cc2055666042b3e1a59fc.tar.bz2 KVIrc-0edeeda7aa5ba240293cc2055666042b3e1a59fc.zip | |
DCC works. Support 64bit resume offsets. Add option for routers that remap DCC SEND but not DCC RESUME. Some cleanups...
git-svn-id: https://svn.kvirc.de/svn/trunk/kvirc@4417 17fca916-40b9-46aa-a4ea-0a15b648b75c
Diffstat (limited to 'src/modules/dcc/broker.cpp')
| -rw-r--r-- | src/modules/dcc/broker.cpp | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/src/modules/dcc/broker.cpp b/src/modules/dcc/broker.cpp index 2b82d8a5a..820fc781d 100644 --- a/src/modules/dcc/broker.cpp +++ b/src/modules/dcc/broker.cpp @@ -957,18 +957,17 @@ bool KviDccBroker::handleResumeRequest(KviDccRequest * dcc,const char * filename KviDccZeroPortTag * t = findZeroPortTag(QString(szZeroPortTag)); if(t) { - //debug("FOUND"); // valid zero port resume request - if(filePos < t->m_uFileSize) - { - //debug("VALID"); - // ok! - t->m_uResumePosition = filePos; + if(filePos >= t->m_uFileSize) + return false; // invalid resume size + + // ok! + t->m_uResumePosition = filePos; - KviStr szBuffy; - KviServerParser::encodeCtcpParameter(filename,szBuffy); + KviStr szBuffy; + KviServerParser::encodeCtcpParameter(filename,szBuffy); - dcc->ctcpMsg->msg->console()->connection()->sendFmtData( + dcc->ctcpMsg->msg->console()->connection()->sendFmtData( "PRIVMSG %s :%cDCC ACCEPT %s %s %u %s%c", dcc->ctcpMsg->msg->console()->connection()->encodeText(dcc->ctcpMsg->pSource->nick()).data(), 0x01, @@ -976,12 +975,10 @@ bool KviDccBroker::handleResumeRequest(KviDccRequest * dcc,const char * filename port, filePos, szZeroPortTag, - 0x01); + 0x01 + ); - return true; - } else { - return false; // invalid resume size - } + return true; } } //debug("NOT A ZeRO PORT"); |
