diff options
Diffstat (limited to 'src/configreader.cpp')
-rw-r--r-- | src/configreader.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
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<std::istringstream*>(x->second))); + if (MOD_RESULT == 0) + { + /* No module claimed this file */ + TotalDownloaded++; + FileErrors++; + delete x->second; + x->second = NULL; + } } } } |