/**
* @file util/common_logging.c
* @brief error handling API
- *
* @author Christian Grothoff
*/
#include "platform.h"
* Rotate logs, deleting the oldest log.
*
* @param new_name new name to add to the rotation
- */
+ */
static void
log_rotate (const char *new_name)
{
GNUNET_free (discard);
}
rotation[rotation_off % ROTATION_KEEP] = GNUNET_strdup (new_name);
- rotation_off++;
+ rotation_off++;
}
* 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];
+ static char last_fn[PATH_MAX + 1];
char fn[PATH_MAX + 1];
int dirwarn;
int altlog_fd;
int dup_return;
FILE *altlog;
char *leftsquare;
-
+
if (NULL == log_file_name)
return GNUNET_SYSERR;
if (0 == strftime (fn, sizeof (fn), log_file_name, tm))
fn);
return GNUNET_SYSERR;
}
- GNUNET_stderr = altlog;
+ GNUNET_stderr = altlog;
return GNUNET_OK;
}
*/
int
GNUNET_log_setup (const char *comp,
- const char *loglevel,
+ const char *loglevel,
const char *logfile)
{
const char *env_logfile;
* 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;
* 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)
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;
* @param check_reset #GNUNET_YES to assert that the log skip counter is currently zero
*/
void
-GNUNET_log_skip (int n,
+GNUNET_log_skip (int n,
int check_reset)
{
int ok;
*/
static void
mylog (enum GNUNET_ErrorType kind,
- const char *comp,
+ const char *comp,
const char *message,
va_list va)
{
strftime (date2, DATE_STR_SIZE, "%b %d %H:%M:%S-%%06u", tmptr);
snprintf (date, sizeof (date), date2, timeofday.tv_usec);
}
-#endif
+#endif
VSNPRINTF (buf, size, message, va);
if (NULL != tmptr)
(void) setup_log_file (tmptr);
{
last_bulk_repeat++;
if ( (GNUNET_TIME_absolute_get_duration (last_bulk_time).rel_value_us >
- BULK_DELAY_THRESHOLD) ||
+ BULK_DELAY_THRESHOLD) ||
(last_bulk_repeat > BULK_REPEAT_THRESHOLD) )
flush_bulk (date);
return;
* @param ... arguments for format string
*/
void
-GNUNET_log_nocheck (enum GNUNET_ErrorType kind,
+GNUNET_log_nocheck (enum GNUNET_ErrorType kind,
const char *message, ...)
{
va_list va;
{
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';
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;
* in the entire API that is NOT reentrant!
*
* @param addr the address
- * @param addrlen the length of the address
+ * @param addrlen the length of the address in @a addr
* @return nicely formatted string for the address
- * will be overwritten by next call to GNUNET_a2s.
+ * will be overwritten by next call to #GNUNET_a2s.
*/
const char *
GNUNET_a2s (const struct sockaddr *addr, socklen_t addrlen)
{
- static char buf[INET6_ADDRSTRLEN + 8];
+#ifndef WINDOWS
+#define LEN GNUNET_MAX ((INET6_ADDRSTRLEN + 8), \
+ (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;
return "<unbound UNIX client>";
un = (const struct sockaddr_un *) addr;
off = 0;
- if (un->sun_path[0] == '\0')
+ if ('\0' == un->sun_path[0])
off++;
memset (buf, 0, sizeof (buf));
snprintf (buf, sizeof (buf) - 1, "%s%.*s", (off == 1) ? "@" : "",
* @param option name of missing option
*/
void
-GNUNET_log_config_missing (enum GNUNET_ErrorType kind,
+GNUNET_log_config_missing (enum GNUNET_ErrorType kind,
const char *section,
const char *option)
{
* @param required what is required that is invalid about the option
*/
void
-GNUNET_log_config_invalid (enum GNUNET_ErrorType kind,
+GNUNET_log_config_invalid (enum GNUNET_ErrorType kind,
const char *section,
const char *option,
const char *required)
/**
* Initializer
*/
-void __attribute__ ((constructor)) GNUNET_util_cl_init ()
+void __attribute__ ((constructor))
+GNUNET_util_cl_init ()
{
GNUNET_stderr = stderr;
#ifdef MINGW
GNInitWinEnv (NULL);
#endif
#if WINDOWS
- if (!InitializeCriticalSectionAndSpinCount (&output_message_cs, 0x00000400))\r
+ if (!InitializeCriticalSectionAndSpinCount (&output_message_cs, 0x00000400))
GNUNET_abort ();
#endif
}
/**
* Destructor
*/
-void __attribute__ ((destructor)) GNUNET_util_cl_fini ()
+void __attribute__ ((destructor))
+GNUNET_util_cl_fini ()
{
#if WINDOWS
DeleteCriticalSection (&output_message_cs);