+ // when a user quits, tidy up their metadata
+ virtual void OnUserQuit(userrec* user, const std::string &message, const std::string &oper_message)
+ {
+ std::string* swhois;
+ user->GetExt("swhois", swhois);
+ if (swhois)
+ {
+ user->Shrink("swhois");
+ DELETE(swhois);
+ }
+ }
+
+ // if the module is unloaded, tidy up all our dangling metadata
+ virtual void OnCleanup(int target_type, void* item)
+ {
+ if (target_type == TYPE_USER)
+ {
+ userrec* user = (userrec*)item;
+ std::string* swhois;
+ user->GetExt("swhois", swhois);
+ if (swhois)
+ {
+ user->Shrink("swhois");
+ DELETE(swhois);
+ }
+ }
+ }
+