From 8a21fbf0cec3af9c9a7b957fdbffb19addb0b7df Mon Sep 17 00:00:00 2001 From: faketruth Date: Tue, 27 Dec 2011 17:59:08 +0000 Subject: I think I fixed the memory leaks in the converter Updated makefile for Unix I changed how the converter works, now you simply put the .exe in the folder you want to convert and run it, it'll output all the files in ./world git-svn-id: http://mc-server.googlecode.com/svn/trunk@132 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- converter/source/main.cpp | 52 +++++++++++++++++++++++++++++++---------------- 1 file changed, 34 insertions(+), 18 deletions(-) (limited to 'converter/source/main.cpp') diff --git a/converter/source/main.cpp b/converter/source/main.cpp index 67da82804..6239cbd43 100644 --- a/converter/source/main.cpp +++ b/converter/source/main.cpp @@ -1,3 +1,5 @@ +#include "MemoryLeak.h" + #include #include "cNBTData.h" #include "cTimer.h" @@ -9,32 +11,37 @@ #include #endif -int main () { +int main () +{ + +#ifdef _DEBUG + _CrtSetDbgFlag ( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF ); +#endif cTimer Timer; clock_t progBegin = clock(); //start main program timer std::string dir; DIR* dp; struct dirent *entry; - int found; + int found; std::string entrys; - std::string str2; + std::string str2; std::string str3; - std::string filexPos; + std::string filexPos; std::string filezPos; std::string pak_name; //string* dir_array; int dir_num_files = 0; int ctr = 0; -#ifdef _WIN32 - if(dp = opendir("region\\")){ -#else - if(dp = opendir("region/")){ -#endif - while(entry = readdir(dp)){ + + if(dp = opendir("./")) + { + while(entry = readdir(dp)) + { entrys = entry->d_name; found = entrys.find(".mcr"); - if ( (found!=std::string::npos) ) { + if ( (found!=std::string::npos) ) + { str2 = entrys.substr (2,sizeof(entrys)); filexPos = str2.substr (0,(int)str2.find(".")); str3 = str2.substr ((int)str2.find(".")+1, sizeof(str2)); @@ -47,13 +54,22 @@ int main () { DeNotch.Converter ( entrys, pak_name ); - clock_t end=clock(); - std::cout << "Time to convert chunk: " << double(Timer.diffclock(end,begin)) << " Seconds"<< std::endl; - } - } - closedir(dp); - } + clock_t end=clock(); + std::cout << "Time to convert chunk: " << double(Timer.diffclock(end,begin)) << " Seconds"<< std::endl; + } + } + closedir(dp); + } clock_t progEnd = clock(); //end main program timer std::cout << "Time to complete converter: " << double(Timer.diffclock(progEnd,progBegin)) << " Seconds"<< std::endl; - return 0; + +#ifdef _DEBUG + _CrtDumpMemoryLeaks(); +#endif + +#ifdef _WIN32 + system("PAUSE"); +#endif + + return 0; }; -- cgit v1.2.3