X-Git-Url: https://www.tinc-vpn.org/git/browse?p=tinc;a=blobdiff_plain;f=lib%2Futils.c;fp=lib%2Futils.c;h=0000000000000000000000000000000000000000;hp=3b221f59f0ef731f62b0369314de5964bdf855fd;hb=68f4ca711593416d0defd81199b176ba604c6cb1;hpb=fc74f52df914ac67ef27d10fa9ba4bfa11c2f40e diff --git a/lib/utils.c b/lib/utils.c deleted file mode 100644 index 3b221f59..00000000 --- a/lib/utils.c +++ /dev/null @@ -1,80 +0,0 @@ -/* - utils.c -- gathering of some stupid small functions - Copyright (C) 1999-2005 Ivo Timmermans - 2000-2009 Guus Sliepen - - This program 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; either version 2 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 General Public License for more details. - - You should have received a copy of the GNU 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. -*/ - -#include "system.h" - -#include "../src/logger.h" -#include "utils.h" - -static const char hexadecimals[] = "0123456789ABCDEF"; - -static int charhex2bin(char c) { - if(isdigit(c)) - return c - '0'; - else - return toupper(c) - 'A' + 10; -} - -bool hex2bin(char *src, char *dst, int length) { - for(int i = 0; i < length; i++) { - if(!isxdigit(src[i * 2]) || !isxdigit(src[i * 2 + 1])) - return false; - dst[i] = charhex2bin(src[i * 2]) * 16 + charhex2bin(src[i * 2 + 1]); - } - return true; -} - -void bin2hex(char *src, char *dst, int length) { - int i; - for(i = length - 1; i >= 0; i--) { - dst[i * 2 + 1] = hexadecimals[(unsigned char) src[i] & 15]; - dst[i * 2] = hexadecimals[(unsigned char) src[i] >> 4]; - } -} - -#if defined(HAVE_MINGW) || defined(HAVE_CYGWIN) -#ifdef HAVE_CYGWIN -#include -#endif - -const char *winerror(int err) { - static char buf[1024], *ptr; - - ptr = buf + sprintf(buf, "(%d) ", err); - - if (!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, - NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_NEUTRAL), ptr, sizeof(buf) - (ptr - buf), NULL)) { - strcpy(ptr, "(unable to format errormessage)"); - }; - - if((ptr = strchr(buf, '\r'))) - *ptr = '\0'; - - return buf; -} -#endif - -unsigned int bitfield_to_int(const void *bitfield, size_t size) { - unsigned int value = 0; - if(size > sizeof value) - size = sizeof value; - memcpy(&value, bitfield, size); - return value; -}