X-Git-Url: https://tinc-vpn.org/git/browse?a=blobdiff_plain;f=lib%2Futils.c;h=beabfeafadf08571b1cc6354c3a9dbaf0d57ee32;hb=5a132550deb58473285e5f91705d286aef47be71;hp=43abf96ee356034d74462bc9fc3d1ce87c284b1f;hpb=7bed2a7099fc7359f6ec24e5f2d7050c7d63b6ac;p=tinc diff --git a/lib/utils.c b/lib/utils.c index 43abf96e..beabfeaf 100644 --- a/lib/utils.c +++ b/lib/utils.c @@ -1,7 +1,7 @@ /* utils.c -- gathering of some stupid small functions - Copyright (C) 1999-2003 Ivo Timmermans - 2000-2003 Guus Sliepen + Copyright (C) 1999-2005 Ivo Timmermans + 2000-2006 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 @@ -29,10 +29,9 @@ volatile char (*cp_file[]) = {"?", "?", "?", "?", "?", "?", "?", "?", "?", "?", volatile int cp_index = 0; #endif -char *hexadecimals = "0123456789ABCDEF"; +const char hexadecimals[] = "0123456789ABCDEF"; -int charhex2bin(char c) -{ +int charhex2bin(char c) { if(isdigit(c)) return c - '0'; else @@ -40,15 +39,13 @@ int charhex2bin(char c) } -void hex2bin(char *src, char *dst, int length) -{ +void hex2bin(char *src, char *dst, int length) { int i; for(i = 0; i < length; i++) dst[i] = charhex2bin(src[i * 2]) * 16 + charhex2bin(src[i * 2 + 1]); } -void bin2hex(char *src, char *dst, int length) -{ +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]; @@ -57,8 +54,7 @@ void bin2hex(char *src, char *dst, int length) } #ifdef ENABLE_TRACING -void cp_trace() -{ +void cp_trace() { logger(LOG_DEBUG, "Checkpoint trace: %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d <- %s:%d...", cp_file[(cp_index + 15) % 16], cp_line[(cp_index + 15) % 16], cp_file[(cp_index + 14) % 16], cp_line[(cp_index + 14) % 16], @@ -85,14 +81,17 @@ void cp_trace() #include #endif -char *winerror(int err) { - static char buf[1024]; +const char *winerror(int err) { + static char buf[1024], *newline; if (!FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, err, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), buf, sizeof(buf), NULL)) { strncpy(buf, _("(unable to format errormessage)"), sizeof(buf)); }; + if((newline = strchr(buf, '\r'))) + *newline = '\0'; + return buf; } #endif