From 5a5854ea9d0bc346b00f48f40b538b7a8d68b37a Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Sat, 21 Feb 2015 14:17:36 +0100 Subject: Move hex.h to util/ --- src/clientmedia.cpp | 10 ++++---- src/guiFormSpecMenu.cpp | 7 +++--- src/hex.h | 62 ------------------------------------------------- src/keycode.cpp | 2 +- src/server.cpp | 6 ++--- src/util/hex.h | 62 +++++++++++++++++++++++++++++++++++++++++++++++++ src/util/string.cpp | 4 ++-- 7 files changed, 76 insertions(+), 77 deletions(-) delete mode 100644 src/hex.h create mode 100644 src/util/hex.h diff --git a/src/clientmedia.cpp b/src/clientmedia.cpp index 2ccf04678..7eb505314 100644 --- a/src/clientmedia.cpp +++ b/src/clientmedia.cpp @@ -18,20 +18,20 @@ with this program; if not, write to the Free Software Foundation, Inc., */ #include "clientmedia.h" -#include "util/serialize.h" -#include "util/sha1.h" -#include "util/string.h" #include "httpfetch.h" #include "client.h" -#include "network/networkprotocol.h" #include "filecache.h" #include "filesys.h" -#include "hex.h" #include "debug.h" #include "log.h" #include "porting.h" #include "settings.h" #include "main.h" +#include "network/networkprotocol.h" +#include "util/hex.h" +#include "util/serialize.h" +#include "util/sha1.h" +#include "util/string.h" static std::string getMediaCacheDir() { diff --git a/src/guiFormSpecMenu.cpp b/src/guiFormSpecMenu.cpp index 3f285fa5e..a3cc03131 100644 --- a/src/guiFormSpecMenu.cpp +++ b/src/guiFormSpecMenu.cpp @@ -39,9 +39,6 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "log.h" #include "tile.h" // ITextureSource #include "hud.h" // drawItemStack -#include "hex.h" -#include "util/string.h" -#include "util/numeric.h" #include "filesys.h" #include "gettime.h" #include "gettext.h" @@ -50,8 +47,10 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "main.h" #include "settings.h" #include "client.h" -#include "util/string.h" // for parseColorString() #include "fontengine.h" +#include "util/hex.h" +#include "util/numeric.h" +#include "util/string.h" // for parseColorString() #define MY_CHECKPOS(a,b) \ if (v_pos.size() != 2) { \ diff --git a/src/hex.h b/src/hex.h deleted file mode 100644 index 6f00a79bf..000000000 --- a/src/hex.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -Minetest -Copyright (C) 2013 Jonathan Neuschäfer - -This program is free software; you can redistribute it and/or modify -it under the terms of the GNU Lesser General Public License as published by -the Free Software Foundation; either version 2.1 of the License, or -(at your option) any later version. - -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 Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License along -with this program; if not, write to the Free Software Foundation, Inc., -51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. -*/ - -#ifndef HEX_HEADER -#define HEX_HEADER - -#include - -static const char hex_chars[] = "0123456789abcdef"; - -static inline std::string hex_encode(const char *data, unsigned int data_size) -{ - std::string ret; - char buf2[3]; - buf2[2] = '\0'; - - for(unsigned int i = 0; i < data_size; i++) - { - unsigned char c = (unsigned char) data[i]; - buf2[0] = hex_chars[(c & 0xf0) >> 4]; - buf2[1] = hex_chars[c & 0x0f]; - ret.append(buf2); - } - - return ret; -} - -static inline std::string hex_encode(const std::string &data) -{ - return hex_encode(data.c_str(), data.size()); -} - -static inline bool hex_digit_decode(char hexdigit, unsigned char &value) -{ - if(hexdigit >= '0' && hexdigit <= '9') - value = hexdigit - '0'; - else if(hexdigit >= 'A' && hexdigit <= 'F') - value = hexdigit - 'A' + 10; - else if(hexdigit >= 'a' && hexdigit <= 'f') - value = hexdigit - 'a' + 10; - else - return false; - return true; -} - -#endif diff --git a/src/keycode.cpp b/src/keycode.cpp index c5f102b44..27d0b6d50 100644 --- a/src/keycode.cpp +++ b/src/keycode.cpp @@ -22,8 +22,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "exceptions.h" #include "settings.h" #include "log.h" -#include "hex.h" #include "debug.h" +#include "util/hex.h" class UnknownKeycode : public BaseException { diff --git a/src/server.cpp b/src/server.cpp index 0d52863d2..6c51aec4b 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -51,11 +51,8 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "content_abm.h" #include "content_sao.h" #include "mods.h" -#include "util/sha1.h" -#include "util/base64.h" #include "sound.h" // dummySoundManager #include "event_manager.h" -#include "hex.h" #include "serverlist.h" #include "util/string.h" #include "util/mathconstants.h" @@ -63,6 +60,9 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "util/serialize.h" #include "util/thread.h" #include "defaultsettings.h" +#include "util/base64.h" +#include "util/sha1.h" +#include "util/hex.h" class ClientNotFoundException : public BaseException { diff --git a/src/util/hex.h b/src/util/hex.h new file mode 100644 index 000000000..6f00a79bf --- /dev/null +++ b/src/util/hex.h @@ -0,0 +1,62 @@ +/* +Minetest +Copyright (C) 2013 Jonathan Neuschäfer + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU Lesser General Public License as published by +the Free Software Foundation; either version 2.1 of the License, or +(at your option) any later version. + +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 Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public License along +with this program; if not, write to the Free Software Foundation, Inc., +51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. +*/ + +#ifndef HEX_HEADER +#define HEX_HEADER + +#include + +static const char hex_chars[] = "0123456789abcdef"; + +static inline std::string hex_encode(const char *data, unsigned int data_size) +{ + std::string ret; + char buf2[3]; + buf2[2] = '\0'; + + for(unsigned int i = 0; i < data_size; i++) + { + unsigned char c = (unsigned char) data[i]; + buf2[0] = hex_chars[(c & 0xf0) >> 4]; + buf2[1] = hex_chars[c & 0x0f]; + ret.append(buf2); + } + + return ret; +} + +static inline std::string hex_encode(const std::string &data) +{ + return hex_encode(data.c_str(), data.size()); +} + +static inline bool hex_digit_decode(char hexdigit, unsigned char &value) +{ + if(hexdigit >= '0' && hexdigit <= '9') + value = hexdigit - '0'; + else if(hexdigit >= 'A' && hexdigit <= 'F') + value = hexdigit - 'A' + 10; + else if(hexdigit >= 'a' && hexdigit <= 'f') + value = hexdigit - 'a' + 10; + else + return false; + return true; +} + +#endif diff --git a/src/util/string.cpp b/src/util/string.cpp index babf7e62b..8861981b2 100644 --- a/src/util/string.cpp +++ b/src/util/string.cpp @@ -22,9 +22,9 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "numeric.h" #include "log.h" -#include "sha1.h" #include "base64.h" -#include "../hex.h" +#include "hex.h" +#include "sha1.h" #include "../porting.h" #include -- cgit v1.2.3