SimpleVector<char *> *tokenizeString( char *inString ) { char *tempString = stringDuplicate( inString ); char *restOfString = tempString; SimpleVector<char *> *foundTokens = new SimpleVector<char *>(); SimpleVector<char> *currentToken = new SimpleVector<char>(); while( restOfString[0] != '\0' ) { // characters remain // skip whitespace char nextChar = restOfString[0]; while( nextChar == ' ' || nextChar == '\n' || nextChar == '\r' || nextChar == '\t' ) { restOfString = &( restOfString[1] ); nextChar = restOfString[0]; } if( restOfString[0] != '\0' ) { // a token while( nextChar != ' ' && nextChar != '\n' && nextChar != '\r' && nextChar != '\t' && nextChar != '\0' ) { // still not whitespace currentToken->push_back( nextChar ); restOfString = &( restOfString[1] ); nextChar = restOfString[0]; } // reached end of token foundTokens->push_back( currentToken->getElementString() ); currentToken->deleteAll(); } } delete [] tempString; delete currentToken; return foundTokens; }
void freeTools() { for( int i=0; i<tools.size(); i++ ) { toolRecord r = *( tools.getElement( i ) ); delete [] r.name; delete [] r.description; delete [] r.descriptionPlural; freeSprite( r.sprite ); } tools.deleteAll(); if( idToIndexMap != NULL ) { delete [] idToIndexMap; idToIndexMap = NULL; } }
void freeLineageLog() { if( lineageServerURL != NULL ) { delete [] lineageServerURL; lineageServerURL = NULL; } if( serverID != NULL ) { delete [] serverID; serverID = NULL; } for( int i=0; i<records.size(); i++ ) { delete records.getElement(i)->request; delete [] records.getElement(i)->email; delete [] records.getElement(i)->name; delete [] records.getElement(i)->lastSay; } records.deleteAll(); }
void freeEmotion() { for( int i=0; i<emotions.size(); i++ ) { delete [] emotions.getElementDirect(i).triggerWord; } emotions.deleteAll(); }