--- branches/development/src/utils/ElementsTable.cpp 2011/09/13 22:05:04 1627 +++ branches/development/src/utils/ElementsTable.cpp 2013/05/15 15:09:35 1874 @@ -25,12 +25,12 @@ GNU General Public License for more details. * @file ElementsTable.cpp * @author gezelter * @date 12/21/2007 - * @time 11:30am * @version 1.0 */ -#include #include "config.h" + +#include #include #include #include @@ -39,10 +39,12 @@ GNU General Public License for more details. #include "utils/simError.h" #include "io/ifstrstream.hpp" -#if !HAVE_STRNCASECMP -extern "C" int strncasecmp(const char *s1, const char *s2, size_t n); +#ifdef _MSC_VER +#define strncasecmp _strnicmp +#define strcasecmp _stricmp #endif + #ifdef WIN32 #define FILE_SEP_CHAR "\\" #else @@ -66,13 +68,13 @@ namespace OpenMD { ElementsTable::~ElementsTable() { std::vector::iterator i; - for (i = elements_.begin(); i != elements_.end(); i++) + for (i = elements_.begin(); i != elements_.end(); ++i) delete *i; } void ElementsTable::ParseLine(const char *line) { int num, maxbonds; - char symbol[5]; + char symbol[6]; char name[256]; RealType Rcov,Rvdw,mass, elNeg, ionize, elAffin; RealType red, green, blue; @@ -267,7 +269,7 @@ namespace OpenMD { Init(); std::vector::iterator i; - for (i = elements_.begin();i != elements_.end();i++) + for (i = elements_.begin();i != elements_.end(); ++i) if (!strncasecmp(sym,(*i)->GetSymbol(),2)) return((*i)->GetAtomicNum()); @@ -324,11 +326,12 @@ namespace OpenMD { simError(); } - char charBuffer[BUFF_SIZE]; + if ((*ifsP)) { + char charBuffer[BUFF_SIZE]; while(ifsP->getline(charBuffer,BUFF_SIZE)) ParseLine(charBuffer); - + if (ifs1) ifs1.close(); if (ifs2)