{
/** Command list for the class
*/
- char *commandlist;
+ std::string commandlist;
/** Channel mode list for the class
*/
- char *cmodelist;
+ std::string cmodelist;
/** User mode list for the class
*/
- char *umodelist;
+ std::string umodelist;
/** Priviledges given by this class
*/
- char *privs;
+ std::string privs;
};
/** A Set of oper classes
*/
CoreExport bool charremove(char* mp, char remove);
-/** strnewdup() is an implemenetation of strdup() which calls operator new
- * rather than malloc to allocate the new string, therefore allowing it to
- * be hooked into the C++ memory manager, and freed with operator delete.
- * This is required for windows, where we override operators new and delete
- * to allow for global allocation between modules and the core.
- */
-inline char * strnewdup(const char * s1)
-{
- size_t len = strlen(s1) + 1;
- char * p = new char[len];
- memcpy(p, s1, len);
- return p;
-}
-
#endif
}
}
- conf->operclass[ClassName].commandlist = strnewdup(CommandList);
- conf->operclass[ClassName].umodelist = strnewdup(UModeList);
- conf->operclass[ClassName].cmodelist = strnewdup(CModeList);
- conf->operclass[ClassName].privs = strnewdup(PrivsList);
+ conf->operclass[ClassName].commandlist = CommandList;
+ conf->operclass[ClassName].umodelist = UModeList;
+ conf->operclass[ClassName].cmodelist = CModeList;
+ conf->operclass[ClassName].privs = PrivsList;
return true;
}
this->AllowedPrivs->insert(mypriv);
}
- for (unsigned char* c = (unsigned char*)iter_operclass->second.umodelist; *c; ++c)
+ for (unsigned char* c = (unsigned char*)iter_operclass->second.umodelist.c_str(); *c; ++c)
{
if (*c == '*')
{
}
}
- for (unsigned char* c = (unsigned char*)iter_operclass->second.cmodelist; *c; ++c)
+ for (unsigned char* c = (unsigned char*)iter_operclass->second.cmodelist.c_str(); *c; ++c)
{
if (*c == '*')
{