summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/core.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/core.c b/src/core.c
index 95d06c2..b09a002 100644
--- a/src/core.c
+++ b/src/core.c
@@ -52,6 +52,8 @@ const char *nslog_level_name(nslog_level level)
static void nslog__normalise_category(nslog_category_t *cat)
{
+ if (cat->name != NULL)
+ return;
if (cat->parent == NULL) {
cat->name = strdup(cat->cat_name);
cat->namelen = strlen(cat->name);
@@ -61,10 +63,10 @@ static void nslog__normalise_category(nslog_category_t *cat)
strcpy(cat->name, cat->parent->name);
strcat(cat->name, "/");
strcat(cat->name, cat->cat_name);
- cat->next = nslog__all_categories;
cat->namelen = strlen(cat->name);
- nslog__all_categories = cat;
}
+ cat->next = nslog__all_categories;
+ nslog__all_categories = cat;
}
static void nslog__log_corked(nslog_entry_context_t *ctx,