Wow great job! Not only are you a 10x better coder than me, you maek me lul. Um, do you have any tips on coding for us? Sometimes I have really bad bugs in my codes, and have no idea how to fix them :(
On Mon, Apr 14, 2008 at 7:40 PM, Yahn Bernier <[EMAIL PROTECTED]> wrote: > No, there are no remaining bugs in the code. Well done. > > > -----Original Message----- > From: [EMAIL PROTECTED] > > > [mailto:[EMAIL PROTECTED] On Behalf Of Nick > Sent: Monday, April 14, 2008 5:04 PM > To: Discussion of Half-Life Programming > Subject: Re: [hlcoders] Proper way to iterate a CUtlDict? > > LOL Is there any other bugs we should know about? > > On Mon, Apr 14, 2008 at 5:31 PM, Yahn Bernier > <[EMAIL PROTECTED]> wrote: > > Those places are all bogus and should be considered bugs. If nothing > is > > deleted from the tree then it might work in most cases, but it's the > > wrong iteration pattern. > > > > Yahn > > > > > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED] On Behalf Of Tim > Baker > > Sent: Monday, April 14, 2008 2:38 PM > > To: [email protected] > > Subject: [hlcoders] Proper way to iterate a CUtlDict? > > > > I was tracking down a crash in ai_speech.cpp > > CConceptHistoriesDataOps::Save. > > It looks as though m_ConceptHistories is not being iterated over > > properly? > > > > CUtlDict< ConceptHistory_t, int > *ch = ...; > > int count = ch->Count(); > > for (int i = 0; i < count; i++ ) { ... } > > > > CUtlDict uses a CUtlRBTree for storage and that class has methods > > for testing whether an index is valid or not. Nodes in the tree > aren't > > stored like an array, so going from 0->count seems wrong. The > correct > > way seems to be this: > > > > for ( int i = ch->First(); i != ch->InvalidIndex(); i = ch->Next( i ) > ) > > > > But there are so many places in the code that iterate over CUtlDicts > > from 0->count I'm wondering what is going on here. > > > > _______________________________________________ > > To unsubscribe, edit your list preferences, or view the list > archives, > > please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > _______________________________________________ > > To unsubscribe, edit your list preferences, or view the list > archives, please visit: > > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > > > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > > _______________________________________________ > To unsubscribe, edit your list preferences, or view the list archives, > please visit: > http://list.valvesoftware.com/mailman/listinfo/hlcoders > > _______________________________________________ To unsubscribe, edit your list preferences, or view the list archives, please visit: http://list.valvesoftware.com/mailman/listinfo/hlcoders

