diff --git a/src/counters.c b/src/counters.c index 584e733c34..8c20144a9f 100644 --- a/src/counters.c +++ b/src/counters.c @@ -1063,11 +1063,12 @@ StatsCounterMaxId StatsRegisterMaxCounter(const char *name, struct ThreadVars_ * * \retval id Counter id for the newly registered counter, or the already * present counter */ -uint16_t StatsRegisterGlobalCounter(const char *name, uint64_t (*Func)(void)) +StatsCounterGlobalId StatsRegisterGlobalCounter(const char *name, uint64_t (*Func)(void)) { + StatsCounterGlobalId s = { .id = 0 }; #if defined (UNITTESTS) || defined (FUZZ) if (stats_ctx == NULL) - return 0; + return s; #else BUG_ON(stats_ctx == NULL); #endif @@ -1075,7 +1076,8 @@ uint16_t StatsRegisterGlobalCounter(const char *name, uint64_t (*Func)(void)) &(stats_ctx->global_counter_ctx), STATS_TYPE_FUNC, Func); - return id; + s.id = id; + return s; } typedef struct CountersIdType_ { diff --git a/src/counters.h b/src/counters.h index 3c3babac7d..5e7e2bd40e 100644 --- a/src/counters.h +++ b/src/counters.h @@ -38,6 +38,10 @@ typedef struct StatsCounterMaxId { uint16_t id; } StatsCounterMaxId; +typedef struct StatsCounterGlobalId { + uint16_t id; +} StatsCounterGlobalId; + /** * \brief Container to hold the counter variable */ @@ -129,7 +133,7 @@ void StatsReleaseResources(void); uint16_t StatsRegisterCounter(const char *, struct ThreadVars_ *); StatsCounterAvgId StatsRegisterAvgCounter(const char *, struct ThreadVars_ *); StatsCounterMaxId StatsRegisterMaxCounter(const char *, struct ThreadVars_ *); -uint16_t StatsRegisterGlobalCounter(const char *cname, uint64_t (*Func)(void)); +StatsCounterGlobalId StatsRegisterGlobalCounter(const char *cname, uint64_t (*Func)(void)); /* functions used to update local counter values */ void StatsAddUI64(struct ThreadVars_ *, uint16_t, uint64_t);