From 8504dbc0588e9d609ffe09810bc734684731f056 Mon Sep 17 00:00:00 2001 From: Learath2 Date: Sat, 29 Aug 2015 23:40:10 +0300 Subject: [PATCH] Create directories if they are missing --- src/engine/client/fetcher.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) 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){