under the terms of the license (GNU LGPL) which comes with this package. */
-#include "gros_interface.h"
+#include "xbt_interface.h"
#include "gras_private.h"
#include <stdarg.h>
#include <assert.h>
_set_inherited_thresholds(cat);
}
-static gras_error_t _gras_log_parse_setting(const char* control_string,
- gras_log_setting_t *set) {
+static void _gras_log_parse_setting(const char* control_string,
+ gras_log_setting_t *set) {
const char *name, *dot, *eq;
set->catname=NULL;
if (!*control_string)
- return no_error;
+ return;
DEBUG1("Parse log setting '%s'",control_string);
control_string += strspn(control_string, " ");
if (!strncmp(dot + 1, "thresh", min(eq - dot - 1,strlen("thresh")))) {
int i;
- char *neweq=(char*)strdup(eq+1);
+ char *neweq=gras_strdup(eq+1);
char *p=neweq-1;
while (*(++p) != '\0') {
snprintf(buff,min(512,eq - dot - 1),"%s",dot+1);
gras_assert1(FALSE,"Unknown setting of the log category: %s",buff);
}
- if (!(set->catname=(char*)gras_malloc(dot - name+1)))
- RAISE_MALLOC;
+ set->catname=(char*)gras_malloc(dot - name+1);
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;
}
static gras_error_t _gras_log_cat_searchsub(gras_log_category_t *cat,char *name,gras_log_category_t**whereto) {
/**
* gras_log_control_set:
* @cs: What to parse
- * @Returns: malloc_error or no_error
*
* Typically passed a command-line argument. The string has the syntax:
*
* This routine may only be called once and that must be before any other
* logging command! Typically, this is done from main().
*/
-gras_error_t gras_log_control_set(const char* control_string) {
+void gras_log_control_set(const char* control_string) {
gras_error_t errcode;
gras_log_setting_t *set;
char *cs;
DEBUG1("Parse log settings '%s'",control_string);
if (control_string == NULL)
- return no_error;
+ return;
if (gras_log_settings == NULL)
- TRY(gras_dynar_new(&gras_log_settings,sizeof(gras_log_setting_t*),
- _free_setting));
+ gras_dynar_new(&gras_log_settings,sizeof(gras_log_setting_t*),
+ _free_setting);
- if (! (set = gras_new(gras_log_setting_t,1)) )
- RAISE_MALLOC;
+ set = gras_new(gras_log_setting_t,1);
+ cs=gras_strdup(control_string);
- if (!(cs=(char*)strdup(control_string)))
- RAISE_MALLOC;
_cleanup_double_spaces(cs);
while (!done) {
p=cs;
done = 1;
}
- errcode = _gras_log_parse_setting(p,set);
- if (errcode != no_error) {
- gras_free(set);
- gras_free(cs);
- }
+ _gras_log_parse_setting(p,set);
- TRYCATCH(_gras_log_cat_searchsub(&_GRAS_LOGV(root),set->catname,&cat),
- mismatch_error);
+ errcode = _gras_log_cat_searchsub(&_GRAS_LOGV(root),set->catname,&cat);
if (errcode == mismatch_error) {
DEBUG0("Store for further application");
DEBUG1("push %p to the settings",(void*)set);
- TRY(gras_dynar_push(gras_log_settings,&set));
+ gras_dynar_push(gras_log_settings,&set);
/* malloc in advance the next slot */
- if (!(set = gras_new(gras_log_setting_t,1))) {
- gras_free(cs);
- RAISE_MALLOC;
- }
+ set = gras_new(gras_log_setting_t,1);
} else {
DEBUG0("Apply directly");
gras_free(set->catname);
}
gras_free(set);
gras_free(cs);
- return no_error;
}
void gras_log_appender_set(gras_log_category_t* cat, gras_log_appender_t* app) {