/* ======================== idLangDict::FindString_r ======================== */ const char* idLangDict::FindString_r( const char* str, int& depth ) const { depth++; if( depth > MAX_REDIRECTION_DEPTH ) { // This isn't an error because we assume the error will be obvious somewhere in a GUI or something, // and the whole point of tracking the depth is to avoid a crash. idLib::Warning( "String '%s', indirection depth > %d", str, MAX_REDIRECTION_DEPTH ); return NULL; } if( str == NULL || str[0] == '\0' ) { return NULL; } int index = FindStringIndex( str ); if( index < 0 ) { return NULL; } const char* value = keyVals[index].value; if( value == NULL ) { return NULL; } if( IsStringId( value ) ) { // this string is re-directed to another entry return FindString_r( value, depth ); } return value; }
/// Destructor ~CBlastDBSeqId() { if (IsStringId()) { delete m_EntrySpecified.m_SequenceId; } }