change the way we get CRC for a list of files since folder scans don't sort the same on different platforms

This commit is contained in:
Mark Vejvoda
2010-04-29 00:34:43 +00:00
parent 50341e9db6
commit ff32f34bfe
3 changed files with 71 additions and 1 deletions

View File

@@ -252,7 +252,10 @@ void findAll(const string &path, vector<string> &results, bool cutExtension, boo
bool isdir(const char *path)
{
struct stat stats;
bool ret = stat (path, &stats) == 0 && S_ISDIR (stats.st_mode);
bool ret = stat (path, &stats) == 0 && S_ISDIR(stats.st_mode);
if(ret == false) SystemFlags::OutputDebug(SystemFlags::debugSystem,"In [%s::%s Line: %d] NOT a path [%s]\n",__FILE__,__FUNCTION__,__LINE__,path);
return ret;
}

View File

@@ -46,6 +46,10 @@ void Checksum::addString(const string &value){
}
void Checksum::addFile(const string &path){
fileList[path] = 0;
}
void Checksum::addFileToSum(const string &path){
FILE* file= fopen(path.c_str(), "rb");
@@ -67,4 +71,15 @@ void Checksum::addFile(const string &path){
fclose(file);
}
int32 Checksum::getSum() {
if(fileList.size() > 0) {
for(std::map<string,int32>::iterator iterMap = fileList.begin();
iterMap != fileList.end(); iterMap++)
{
addFileToSum(iterMap->first);
}
}
return sum;
}
}}//end namespace