+
+ virtual void OnUserDisconnect(userrec* user)
+ {
+ char* pingrpl;
+ user->GetExt("waitpong_pingstr", pingrpl);
+
+ if(pingrpl)
+ {
+ DELETE(pingrpl);
+ user->Shrink("waitpong_pingstr");
+ }
+ }
+
+ virtual void OnCleanup(int target_type, void* item)
+ {
+ if(target_type == TYPE_USER)
+ {
+ userrec* user = (userrec*)item;
+ char* pingrpl;
+ user->GetExt("waitpong_pingstr", pingrpl);
+
+ if(pingrpl)
+ {
+ DELETE(pingrpl);
+ user->Shrink("waitpong_pingstr");
+ }
+ }
+ }
+