diff --git a/src/engine/client/fetcher.cpp b/src/engine/client/fetcher.cpp index ea7bbf578..3aa393022 100644 --- a/src/engine/client/fetcher.cpp +++ b/src/engine/client/fetcher.cpp @@ -102,6 +102,18 @@ void CFetcher::FetchFile(CFetchTask *pTask) m_pStorage->GetBinaryPath(pTask->m_aDest, aPath, sizeof(aPath)); else m_pStorage->GetCompletePath(pTask->m_StorageType, pTask->m_aDest, aPath, sizeof(aPath)); + + for(char *p = aPath; *p != '\0'; p++) + { + if(*p == '/' && *(p + 1) != '\0') + { + *p = '\0'; + if(fs_makedir(aPath) < 0) + dbg_msg("fetcher", "I/O Error couldnt create folder: %s", aPath); + *p = '/'; + } + } + IOHANDLE File = io_open(aPath, IOFLAG_WRITE); if(!File){