/* This program is free software; you can redistribute it and/or modify it
under the terms of the license (GNU LGPL) which comes with this package. */
+#include "Core/core_interface.h"
#include "gras_private.h"
#include <stdarg.h>
#include <assert.h>
NULL, 0
};
GRAS_LOG_NEW_SUBCATEGORY(GRAS,GRAS_LOG_ROOT_CAT);
-GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(log,GRAS);
+GRAS_LOG_NEW_SUBCATEGORY(tbx,GRAS);
+GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(log,tbx);
static void _apply_control(gras_log_category_t* cat) {
if (!(set->catname=malloc(dot - name+1)))
RAISE_MALLOC;
- strncat(set->catname,name,dot-name);
+ strncpy(set->catname,name,dot-name);
+ set->catname[dot-name]='\0'; /* Just in case */
DEBUG1("This is for cat '%s'", set->catname);
return no_error;
}
if (control_string == NULL)
return no_error;
if (gras_log_settings == NULL)
- TRY(gras_dynar_new(&gras_log_settings,sizeof(gras_log_setting_t*),_free_setting));
+ TRY(gras_dynar_new(&gras_log_settings,sizeof(gras_log_setting_t*),
+ _free_setting));
if (!(set = malloc(sizeof(gras_log_setting_t))))
RAISE_MALLOC;
free(cs);
}
- TRYCATCH(_gras_log_cat_searchsub(&_GRAS_LOGV(root),set->catname,&cat),mismatch_error);
+ TRYCATCH(_gras_log_cat_searchsub(&_GRAS_LOGV(root),set->catname,&cat),
+ mismatch_error);
if (errcode == mismatch_error) {
DEBUG0("Store for further application");
DEBUG1("push %p to the settings",set);
cat->appender = app;
}
-void gras_log_finalize(void);
-void gras_log_finalize(void) {
+void gras_log_exit(void) {
+ VERB0("Exiting log");
gras_dynar_free(gras_log_settings);
+ VERB0("Exited log");
}