X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Futil%2Fcommon_logging.c;h=f5688f42c620495d8d237396139548a8d217c0c3;hb=2587d268f7c92b09bfc1b0130105b378d6055329;hp=48a6724f7f76b907b0974b23b941568c4ac585b2;hpb=d36a5863ee8d8f440934f93969da167cb383f4c7;p=oweals%2Fgnunet.git diff --git a/src/util/common_logging.c b/src/util/common_logging.c index 48a6724f7..f5688f42c 100644 --- a/src/util/common_logging.c +++ b/src/util/common_logging.c @@ -1,6 +1,6 @@ /* This file is part of GNUnet. - (C) 2006-2013 Christian Grothoff (and other contributing authors) + Copyright (C) 2006-2013 Christian Grothoff (and other contributing authors) GNUnet is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published @@ -14,8 +14,8 @@ You should have received a copy of the GNU General Public License along with GNUnet; see the file COPYING. If not, write to the - Free Software Foundation, Inc., 59 Temple Place - Suite 330, - Boston, MA 02111-1307, USA. + Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + Boston, MA 02110-1301, USA. */ /** @@ -24,7 +24,8 @@ * @author Christian Grothoff */ #include "platform.h" -#include "gnunet_util_lib.h" +#include "gnunet_crypto_lib.h" +#include "gnunet_strings_lib.h" #include @@ -281,7 +282,7 @@ resize_logdefs () * Abort the process, generate a core dump if possible. */ void -GNUNET_abort () +GNUNET_abort_ () { #if WINDOWS DebugBreak (); @@ -321,14 +322,13 @@ log_rotate (const char *new_name) * Setup the log file. * * @param tm timestamp for which we should setup logging - * @return GNUNET_OK on success, GNUNET_SYSERR on error + * @return #GNUNET_OK on success, #GNUNET_SYSERR on error */ static int setup_log_file (const struct tm *tm) { static char last_fn[PATH_MAX + 1]; char fn[PATH_MAX + 1]; - int dirwarn; int altlog_fd; int dup_return; FILE *altlog; @@ -352,7 +352,6 @@ setup_log_file (const struct tm *tm) return GNUNET_OK; /* no change */ log_rotate (last_fn); strcpy (last_fn, fn); - dirwarn = (GNUNET_OK != GNUNET_DISK_directory_create_for_file (fn)); #if WINDOWS altlog_fd = OPEN (fn, O_APPEND | O_BINARY | @@ -386,16 +385,13 @@ setup_log_file (const struct tm *tm) if (-1 == altlog_fd) { GNUNET_log_strerror_file (GNUNET_ERROR_TYPE_ERROR, "open", fn); - if (dirwarn) - GNUNET_log (GNUNET_ERROR_TYPE_WARNING, - _("Failed to create or access directory for log file `%s'\n"), - fn); return GNUNET_SYSERR; } GNUNET_stderr = altlog; return GNUNET_OK; } + /** * Utility function - adds a parsed definition to logdefs array. * @@ -703,14 +699,14 @@ GNUNET_log_setup (const char *comp, * Add a custom logger. * * @param logger log function - * @param logger_cls closure for logger + * @param logger_cls closure for @a logger */ void GNUNET_logger_add (GNUNET_Logger logger, void *logger_cls) { struct CustomLogger *entry; - entry = GNUNET_malloc (sizeof (struct CustomLogger)); + entry = GNUNET_new (struct CustomLogger); entry->logger = logger; entry->logger_cls = logger_cls; entry->next = loggers; @@ -722,7 +718,7 @@ GNUNET_logger_add (GNUNET_Logger logger, void *logger_cls) * Remove a custom logger. * * @param logger log function - * @param logger_cls closure for logger + * @param logger_cls closure for @a logger */ void GNUNET_logger_remove (GNUNET_Logger logger, void *logger_cls) @@ -732,14 +728,14 @@ GNUNET_logger_remove (GNUNET_Logger logger, void *logger_cls) prev = NULL; pos = loggers; - while ((pos != NULL) && + while ((NULL != pos) && ((pos->logger != logger) || (pos->logger_cls != logger_cls))) { prev = pos; pos = pos->next; } - GNUNET_assert (pos != NULL); - if (prev == NULL) + GNUNET_assert (NULL != pos); + if (NULL == prev) loggers = pos->next; else prev->next = pos->next; @@ -1096,7 +1092,7 @@ GNUNET_i2s (const struct GNUNET_PeerIdentity *pid) static char buf[256]; char *ret; - ret = GNUNET_CRYPTO_ecc_public_sign_key_to_string (&pid->public_key); + ret = GNUNET_CRYPTO_eddsa_public_key_to_string (&pid->public_key); strcpy (buf, ret); GNUNET_free (ret); buf[4] = '\0'; @@ -1119,7 +1115,7 @@ GNUNET_i2s_full (const struct GNUNET_PeerIdentity *pid) static char buf[256]; char *ret; - ret = GNUNET_CRYPTO_ecc_public_sign_key_to_string (&pid->public_key); + ret = GNUNET_CRYPTO_eddsa_public_key_to_string (&pid->public_key); strcpy (buf, ret); GNUNET_free (ret); return buf; @@ -1137,9 +1133,17 @@ GNUNET_i2s_full (const struct GNUNET_PeerIdentity *pid) * will be overwritten by next call to #GNUNET_a2s. */ const char * -GNUNET_a2s (const struct sockaddr *addr, socklen_t addrlen) +GNUNET_a2s (const struct sockaddr *addr, + socklen_t addrlen) { - static char buf[INET6_ADDRSTRLEN + 8]; +#ifndef WINDOWS +#define LEN GNUNET_MAX ((INET6_ADDRSTRLEN + 8), \ + (1 + sizeof (struct sockaddr_un) - sizeof (sa_family_t))) +#else +#define LEN (INET6_ADDRSTRLEN + 8) +#endif + static char buf[LEN]; +#undef LEN static char b2[6]; const struct sockaddr_in *v4; const struct sockaddr_un *un; @@ -1181,9 +1185,12 @@ GNUNET_a2s (const struct sockaddr *addr, socklen_t addrlen) if ('\0' == un->sun_path[0]) off++; memset (buf, 0, sizeof (buf)); - snprintf (buf, sizeof (buf) - 1, "%s%.*s", (off == 1) ? "@" : "", - (int) (addrlen - sizeof (sa_family_t) - 1 - off), - &un->sun_path[off]); + GNUNET_snprintf (buf, + sizeof (buf), + "%s%.*s", + (1 == off) ? "@" : "", + (int) (addrlen - sizeof (sa_family_t) - off), + &un->sun_path[off]); return buf; default: return _("invalid address"); @@ -1233,7 +1240,8 @@ GNUNET_log_config_invalid (enum GNUNET_ErrorType kind, /** * Initializer */ -void __attribute__ ((constructor)) GNUNET_util_cl_init () +void __attribute__ ((constructor)) +GNUNET_util_cl_init () { GNUNET_stderr = stderr; #ifdef MINGW @@ -1241,7 +1249,7 @@ void __attribute__ ((constructor)) GNUNET_util_cl_init () #endif #if WINDOWS if (!InitializeCriticalSectionAndSpinCount (&output_message_cs, 0x00000400)) - GNUNET_abort (); + GNUNET_abort_ (); #endif } @@ -1249,7 +1257,8 @@ void __attribute__ ((constructor)) GNUNET_util_cl_init () /** * Destructor */ -void __attribute__ ((destructor)) GNUNET_util_cl_fini () +void __attribute__ ((destructor)) +GNUNET_util_cl_fini () { #if WINDOWS DeleteCriticalSection (&output_message_cs);