From b41dd8d88c2ee661e58b6f79af7e159b8dae0f2d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20W=2E=20Urba=C5=84czyk?= Date: Wed, 28 Dec 2011 02:55:02 +0000 Subject: [PATCH] [programming challenge] Unique names for recording files --- server/CVCMIServer.cpp | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/server/CVCMIServer.cpp b/server/CVCMIServer.cpp index 39939fb8e..6103847f8 100644 --- a/server/CVCMIServer.cpp +++ b/server/CVCMIServer.cpp @@ -550,6 +550,22 @@ void memoryMonitor(int lAIpid, int rAIpid, int refPid) } //// +std::string clearBaseName(const std::string &fname) +{ + std::string ret = fname; + int hlp = ret.find_last_of('/'); + if(hlp != std::string::npos) + { + ret = ret.substr(hlp+1); + } + hlp = ret.find_last_of('.'); + if(hlp != std::string::npos) + { + ret = ret.substr(0,hlp); + } + return ret; +}; + void CVCMIServer::startDuel(const std::string &battle, const std::string &leftAI, const std::string &rightAI, int howManyClients) { std::map pidsFromConns; @@ -642,8 +658,7 @@ void CVCMIServer::startDuel(const std::string &battle, const std::string &leftAI //TODO monitor memory of PIDs testMem.set(true); boost::thread* memMon = new boost::thread(boost::bind(memoryMonitor, PIDs[0], PIDs[1], PIDs[2])); - - std::string logFName = LOGS_DIR + "/" + leftAI + "_vs_"+rightAI+"_on_" + battle + ".vdat"; + std::string logFName = LOGS_DIR + "/" + clearBaseName(leftAI) + "_vs_"+clearBaseName(rightAI)+"_on_" + clearBaseName(battle) + ".vdat"; tlog0 << "Logging battle activities (for replay possibility) in " << logFName << std::endl; gh->gameLog = new CSaveFile(logFName); gh->gameLog->smartPointerSerialization = false;