/* +------------------------------------+ * | Inspire Internet Relay Chat Daemon | * +------------------------------------+ * * InspIRCd: (C) 2002-2010 InspIRCd Development Team * See: http://wiki.inspircd.org/Credits * * This program is free but copyrighted software; see * the file COPYING for details. * * --------------------------------------------------- */ #ifndef IN_INSPSTRING_H #define IN_INSPSTRING_H // This (inspircd_config) is needed as inspstring doesn't pull in the central header #include "inspircd_config.h" #include //#include #ifndef HAS_STRLCPY /** strlcpy() implementation for systems that don't have it (linux) */ CoreExport size_t strlcpy(char *dst, const char *src, size_t siz); /** strlcat() implementation for systems that don't have it (linux) */ CoreExport size_t strlcat(char *dst, const char *src, size_t siz); #endif /** charlcat() will append one character to a string using the same * safety scemantics as strlcat(). * @param x The string to operate on * @param y the character to append to the end of x * @param z The maximum allowed length for z including null terminator */ CoreExport int charlcat(char* x,char y,int z); /** charremove() will remove all instances of a character from a string * @param mp The string to operate on * @param remove The character to remove */ CoreExport bool charremove(char* mp, char remove); /** Binary to hexadecimal conversion */ CoreExport std::string BinToHex(const std::string& data); /** Base64 encode */ CoreExport std::string BinToBase64(const std::string& data, const char* table = NULL, char pad = 0); /** Base64 decode */ CoreExport std::string Base64ToBin(const std::string& data, const char* table = NULL); #endif