From 621f93b72ffdae4e211949c9fad778327c2a31fa Mon Sep 17 00:00:00 2001 From: brain Date: Sun, 11 Nov 2007 19:21:19 +0000 Subject: More stuff git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8574 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/configreader.cpp | 14 ++++++++++---- src/modules.cpp | 2 +- 2 files changed, 11 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/configreader.cpp b/src/configreader.cpp index 13ef5ddad..ec5f1fe54 100644 --- a/src/configreader.cpp +++ b/src/configreader.cpp @@ -1296,10 +1296,16 @@ void ServerConfig::StartDownloads() ServerInstance->Log(DEBUG,"Module-handled schema for %s", x->first.c_str()); /* For now, error it */ - FileErrors++; - TotalDownloaded++; - delete x->second; - x->second = NULL; + int MOD_RESULT = 0; + FOREACH_RESULT(I_OnDownloadFile, OnDownloadFile(file, reinterpret_cast(x->second))); + if (MOD_RESULT == 0) + { + /* No module claimed this file */ + TotalDownloaded++; + FileErrors++; + delete x->second; + x->second = NULL; + } } } } diff --git a/src/modules.cpp b/src/modules.cpp index d04b0e243..373f1c7b8 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -107,7 +107,7 @@ std::string Event::GetEventID() Module::Module(InspIRCd* Me) : ServerInstance(Me) { } Module::~Module() { } void Module::OnReadConfig(ServerConfig*, ConfigReader*) { } -int Module::OnDownloadFile(const std::string&, std::stringstream&) { return 0; } +int Module::OnDownloadFile(const std::string&, std::istringstream*&) { return 0; } void Module::OnUserConnect(User*) { } void Module::OnUserQuit(User*, const std::string&, const std::string&) { } void Module::OnUserDisconnect(User*) { } -- cgit v1.2.3