@@ -180,26 +180,14 @@ INI::INI()
180180 m_filename = " None" ;
181181 m_loadType = INI_LOAD_INVALID;
182182 m_lineNum = 0 ;
183- m_seps = " \n\r\t =" ; // /< make sure you update m_sepsPercent/m_sepsColon as well
184- m_sepsPercent = " \n\r\t =%%" ;
185- m_sepsColon = " \n\r\t =:" ;
186- m_sepsQuote = " \"\n =" ; // /< stop at " = EOL
187- m_blockEndToken = " END" ;
188- m_endOfFile = FALSE ;
189183 m_buffer[0 ] = 0 ;
184+ m_endOfFile = FALSE ;
190185#ifdef DEBUG_CRASHING
191186 m_curBlockStart[0 ] = 0 ;
192187#endif
193188
194189}
195190
196- // -------------------------------------------------------------------------------------------------
197- // -------------------------------------------------------------------------------------------------
198- INI::~INI ()
199- {
200-
201- }
202-
203191// -------------------------------------------------------------------------------------------------
204192UnsignedInt INI::loadFileDirectory ( AsciiString fileDirName, INILoadType loadType, Xfer *pXfer, Bool subdirs )
205193{
@@ -397,7 +385,7 @@ UnsignedInt INI::load( AsciiString filename, INILoadType loadType, Xfer *pXfer )
397385 AsciiString currentLine = m_buffer;
398386
399387 // the first word is the type of data we're processing
400- const char *token = strtok ( m_buffer, m_seps );
388+ const char *token = strtok ( m_buffer, getSeps () );
401389 if ( token )
402390 {
403391 INIBlockParse parse = findBlockParse (token);
@@ -710,7 +698,7 @@ void INI::parseAsciiStringVector( INI* ini, void * /*instance*/, void *store, co
710698{
711699 std::vector<AsciiString>* asv = (std::vector<AsciiString>*)store;
712700 asv->clear ();
713- for (const char *token = ini->getNextTokenOrNull (); token != nullptr ; token = ini->getNextTokenOrNull ())
701+ for (const char *token = ini->getNextTokenOrNull (); token; token = ini->getNextTokenOrNull ())
714702 {
715703 asv->push_back (token);
716704 }
@@ -723,7 +711,7 @@ void INI::parseAsciiStringVectorAppend( INI* ini, void * /*instance*/, void *sto
723711 std::vector<AsciiString>* asv = (std::vector<AsciiString>*)store;
724712 // nope, don't clear. duh.
725713 // asv->clear();
726- for (const char *token = ini->getNextTokenOrNull (); token != nullptr ; token = ini->getNextTokenOrNull ())
714+ for (const char *token = ini->getNextTokenOrNull (); token; token = ini->getNextTokenOrNull ())
727715 {
728716 asv->push_back (token);
729717 }
@@ -735,7 +723,7 @@ void INI::parseAsciiStringVectorAppend( INI* ini, void * /*instance*/, void *sto
735723{
736724 ScienceVec* asv = (ScienceVec*)store;
737725 asv->clear ();
738- for (const char *token = ini->getNextTokenOrNull (); token != nullptr ; token = ini->getNextTokenOrNull ())
726+ for (const char *token = ini->getNextTokenOrNull (); token; token = ini->getNextTokenOrNull ())
739727 {
740728 if (stricmp (token, " None" ) == 0 )
741729 {
@@ -952,7 +940,7 @@ void INI::parseBitString32( INI* ini, void * /*instance*/, void *store, const vo
952940 Bool foundAddOrSub = false ;
953941
954942 // loop through all tokens
955- for (const char *token = ini->getNextTokenOrNull (); token != nullptr ; token = ini->getNextTokenOrNull ())
943+ for (const char *token = ini->getNextTokenOrNull (); token; token = ini->getNextTokenOrNull ())
956944 {
957945 if (stricmp (token, " NONE" ) == 0 )
958946 {
@@ -1528,7 +1516,7 @@ void INI::initFromINIMulti( void *what, const MultiIniFieldParse& parseTableList
15281516 if ( field )
15291517 {
15301518
1531- if ( stricmp ( field, m_blockEndToken ) == 0 )
1519+ if ( stricmp ( field, getEndToken () ) == 0 )
15321520 {
15331521 done = TRUE ;
15341522 }
@@ -1580,7 +1568,7 @@ void INI::initFromINIMulti( void *what, const MultiIniFieldParse& parseTableList
15801568
15811569 done = TRUE ;
15821570 DEBUG_CRASH ( (" Error parsing block '%s', in INI file '%s'. Missing '%s' token" ,
1583- m_curBlockStart, getFilename ().str (), m_blockEndToken ) );
1571+ m_curBlockStart, getFilename ().str (), getEndToken () ) );
15841572 throw INI_MISSING_END_TOKEN;
15851573
15861574 }
@@ -1592,7 +1580,6 @@ void INI::initFromINIMulti( void *what, const MultiIniFieldParse& parseTableList
15921580// -------------------------------------------------------------------------------------------------
15931581/* static*/ const char * INI::getNextToken (const char * seps)
15941582{
1595- if (!seps) seps = getSeps ();
15961583 const char *token = ::strtok (nullptr , seps);
15971584 if (!token)
15981585 throw INI_INVALID_DATA;
@@ -1602,7 +1589,6 @@ void INI::initFromINIMulti( void *what, const MultiIniFieldParse& parseTableList
16021589// -------------------------------------------------------------------------------------------------
16031590/* static*/ const char * INI::getNextTokenOrNull (const char * seps)
16041591{
1605- if (!seps) seps = getSeps ();
16061592 const char *token = ::strtok (nullptr , seps);
16071593 return token;
16081594}
@@ -1876,12 +1862,10 @@ void INI::parseSoundsList( INI* ini, void *instance, void *store, const void* /*
18761862 std::vector<AsciiString> *vec = (std::vector<AsciiString>*) store;
18771863 vec->clear ();
18781864
1879- const char * SEPS = " \t ,=" ;
1880- const char *c = ini->getNextTokenOrNull (SEPS);
1881- while ( c )
1865+ constexpr const char * Seps = " \t ,=" ;
1866+ for (const char * token = ini->getNextTokenOrNull (Seps); token; token = ini->getNextTokenOrNull (Seps))
18821867 {
1883- vec->push_back ( c );
1884- c = ini->getNextTokenOrNull (SEPS);
1868+ vec->push_back (token);
18851869 }
18861870}
18871871
0 commit comments