(svn r18828) -Fix (r18823): Decrementing uints is different to ints.

This commit is contained in:
frosch 2010-01-16 16:44:59 +00:00
parent ff11095916
commit 6101ad8396
1 changed files with 4 additions and 2 deletions

View File

@ -78,8 +78,10 @@ public:
/** Clear (destroy) all items */
FORCEINLINE void Clear()
{
/* walk through all allocated items backward and destroy them */
for (T *pItem = &data[Length() - 1]; pItem >= data; pItem--) {
/* Walk through all allocated items backward and destroy them
* Note: this->Length() can be zero. In that case data[this->Length() - 1] is evaluated unsigned
* on some compilers with some architectures. (e.g. gcc with x86) */
for (T *pItem = this->data + this->Length() - 1; pItem >= this->data; pItem--) {
pItem->~T();
}
/* number of items become zero */