X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Finspstring.h;h=a6ef5e552869da601f05ecd8bbbad0eb6b8bf63c;hb=9d81896b74fda1d2cd40723dcec33bf75f843038;hp=87024a9f8354abdc026602535263bd5c92c6efa1;hpb=16add8425c1cdc77aa72c13cbd3070b31acd6f22;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/inspstring.h b/include/inspstring.h index 87024a9f8..a6ef5e552 100644 --- a/include/inspstring.h +++ b/include/inspstring.h @@ -1,22 +1,30 @@ -/* +------------------------------------+ - * | Inspire Internet Relay Chat Daemon | - * +------------------------------------+ +/* + * InspIRCd -- Internet Relay Chat Daemon * - * InspIRCd: (C) 2002-2007 InspIRCd Development Team - * See: http://www.inspircd.org/wiki/index.php/Credits + * Copyright (C) 2007 Dennis Friis + * Copyright (C) 2007 Craig Edwards * - * This program is free but copyrighted software; see - * the file COPYING for details. + * This file is part of InspIRCd. InspIRCd is free software: you can + * redistribute it and/or modify it under the terms of the GNU General Public + * License as published by the Free Software Foundation, version 2. * - * --------------------------------------------------- + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . */ -#ifndef __IN_INSPSTRING_H -#define __IN_INSPSTRING_H +#ifndef INSPSTRING_H +#define INSPSTRING_H + +// This (inspircd_config) is needed as inspstring doesn't pull in the central header #include "inspircd_config.h" -#include -#include +#include +//#include #ifndef HAS_STRLCPY /** strlcpy() implementation for systems that don't have it (linux) */ @@ -38,19 +46,12 @@ CoreExport int charlcat(char* x,char y,int z); */ 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; -} +/** 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