From 780757cbc172daa4d9973e8e3b87fd42cfac5541 Mon Sep 17 00:00:00 2001 From: attilamolnar Date: Thu, 16 May 2013 15:34:45 +0200 Subject: Deduplicate hex string creation code --- include/hashcomp.h | 7 ------- include/inspstring.h | 18 ++++++++++++++++-- 2 files changed, 16 insertions(+), 9 deletions(-) (limited to 'include') diff --git a/include/hashcomp.h b/include/hashcomp.h index c1e8a0ec5..94c222e14 100644 --- a/include/hashcomp.h +++ b/include/hashcomp.h @@ -159,13 +159,6 @@ namespace irc static CoreExport const char* find(const char* s1, int n, char c); }; - /** Compose a hex string from raw data. - * @param raw The raw data to compose hex from - * @param rawsz The size of the raw data buffer - * @return The hex string. - */ - CoreExport std::string hex(const unsigned char *raw, size_t rawsz); - /** This typedef declares irc::string based upon irc_char_traits. */ typedef std::basic_string > string; diff --git a/include/inspstring.h b/include/inspstring.h index 6864245b0..eb7b7218f 100644 --- a/include/inspstring.h +++ b/include/inspstring.h @@ -24,9 +24,23 @@ #include "config.h" #include -/** Binary to hexadecimal conversion */ -CoreExport std::string BinToHex(const std::string& data); +/** Compose a hex string from raw data. + * @param raw The raw data to compose hex from (can be NULL if rawsize is 0) + * @param rawsize The size of the raw data buffer + * @return The hex string + */ +CoreExport std::string BinToHex(const void* raw, size_t rawsize); + /** 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); + +/** Compose a hex string from the data in a std::string. + * @param data The data to compose hex from + * @return The hex string. + */ +inline std::string BinToHex(const std::string& data) +{ + return BinToHex(data.data(), data.size()); +} -- cgit v1.3.1-10-gc9f91