#define super OSString
-typedef struct { int i, j; } OSSymbolPoolState;
+typedef struct { unsigned int i, j; } OSSymbolPoolState;
#if OSALLOCDEBUG
extern "C" {
OSSymbolPool::~OSSymbolPool()
{
if (buckets) {
+ Bucket *thisBucket;
+ for (thisBucket = &buckets[0]; thisBucket < &buckets[nBuckets]; thisBucket++) {
+ if (thisBucket->count > 1) {
+ kfree(thisBucket->symbolP, thisBucket->count * sizeof(OSSymbol *));
+ ACCUMSIZE(-(thisBucket->count * sizeof(OSSymbol *)));
+ }
+ }
kfree(buckets, nBuckets * sizeof(Bucket));
ACCUMSIZE(-(nBuckets * sizeof(Bucket)));
}
if (!j) {
// couldn't find the symbol; probably means string hash changed
- panic("removeSymbol");
+ panic("removeSymbol %s count %d ", sym->string ? sym->string : "no string", count);
return;
}
return;
}
// couldn't find the symbol; probably means string hash changed
- panic("removeSymbol");
+ panic("removeSymbol %s count %d ", sym->string ? sym->string : "no string", count);
return;
}
return;
}
// couldn't find the symbol; probably means string hash changed
- panic("removeSymbol");
+ panic("removeSymbol %s count %d ", sym->string ? sym->string : "no string", count);
return;
}
}
}
// couldn't find the symbol; probably means string hash changed
- panic("removeSymbol");
+ panic("removeSymbol %s count %d ", sym->string ? sym->string : "no string", count);
}
/*