SCFree(pc->name);
}
-
- if (pc->value != NULL) {
- if (pc->value->cvalue != NULL)
- SCFree(pc->value->cvalue);
-
- SCFree(pc->value);
- }
-
if (pc->desc != NULL)
SCFree(pc->desc);
return 0;
}
memset(pc->name, 0, sizeof(SCPerfCounterName));
-
- if ( (pc->value = SCMalloc(sizeof(SCPerfCounterValue))) == NULL) {
- SCFree(pc->name);
- SCFree(pc);
- return 0;
- }
- memset(pc->value, 0, sizeof(SCPerfCounterValue));
-
if ( (pc->name->cname = SCStrdup(cname)) == NULL) {
SCLogError(SC_ERR_MEM_ALLOC, "Error allocating memory");
exit(EXIT_FAILURE);
}
pc->type = type_q;
- /* allocate memory to hold this counter value */
- pc->value->type = type;
- pc->value->size = sizeof(uint64_t);
-
- if ( (pc->value->cvalue = SCMalloc(pc->value->size)) == NULL)
- return 0;
- memset(pc->value->cvalue, 0, pc->value->size);
/* we now add the counter to the list */
if (prev == NULL)
if (pc->type == SC_PERF_TYPE_Q_AVERAGE) {
if (pcae->syncs != 0)
ui64_temp /= pcae->syncs;
- *((uint64_t *)pc->value->cvalue) = ui64_temp;
+ pc->value = ui64_temp;
} else {
- *((uint64_t *)pc->value->cvalue) = ui64_temp;
+ pc->value = ui64_temp;
}
return;
* \param pc Pointer to the PerfCounter for which the timebased counter has to
* be calculated
*/
-static void SCPerfOutputCalculateCounterValue(SCPerfCounter *pc, void *cvalue_op)
+static uint64_t SCPerfOutputCalculateCounterValue(SCPerfCounter *pc)
{
- *((uint64_t *)cvalue_op) = *((uint64_t *)pc->value->cvalue);
- return;
+ return pc->value;
}
/**
pc = pc_heads[0];
for (u = 0; u < pctmi->size; u++) {
- SCPerfOutputCalculateCounterValue(pc_heads[u], &ui64_temp);
+ ui64_temp = SCPerfOutputCalculateCounterValue(pc_heads[u]);
ui64_result += ui64_temp;
if (pc_heads[u] != NULL)
flag = 1;
}
- if (pc->value == NULL)
- continue;
-
fprintf(sc_perf_op_ctx->fp, "%-25s | %-25s | %-" PRIu64 "\n",
pc->name->cname, pctmi->tm_name, ui64_result);
}
pc = pc_heads[0];
for (u = 0; u < pctmi->size; u++) {
- SCPerfOutputCalculateCounterValue(pc_heads[u], &ui64_temp);
+ ui64_temp = SCPerfOutputCalculateCounterValue(pc_heads[u]);
ui64_result += ui64_temp;
if (pc_heads[u] != NULL)
flag = 0;
}
- if (pc->value == NULL)
- continue;
-
filled = 1;
json_object_set_new(jdata, pc->name->cname, json_integer(ui64_result));
}
SCPerfUpdateCounterArray(pca, &tv.sc_perf_pctx);
- result = (1 == *((uint64_t *)tv.sc_perf_pctx.head->value->cvalue) );
- result &= (100 == *((uint64_t *)tv.sc_perf_pctx.head->next->value->cvalue) );
- result &= (101 == *((uint64_t *)tv.sc_perf_pctx.head->next->next->value->cvalue) );
+ result = (1 == tv.sc_perf_pctx.head->value);
+ result &= (100 == tv.sc_perf_pctx.head->next->value);
+ result &= (101 == tv.sc_perf_pctx.head->next->next->value);
SCPerfReleasePerfCounterS(tv.sc_perf_pctx.head);
SCPerfReleasePCA(pca);
SCPerfUpdateCounterArray(pca, &tv.sc_perf_pctx);
- uint64_t *u64p = (uint64_t *)tv.sc_perf_pctx.head->value->cvalue;
- result &= (1 == *u64p);
+ result &= (1 == tv.sc_perf_pctx.head->value);
- u64p = (uint64_t *)tv.sc_perf_pctx.head->next->value->cvalue;
- result &= (256 == *u64p);
+ result &= (256 == tv.sc_perf_pctx.head->next->value);
- u64p = (uint64_t *)tv.sc_perf_pctx.head->next->next->value->cvalue;
- result &= (257 == *u64p);
+ result &= (257 == tv.sc_perf_pctx.head->next->next->value);
- u64p = (uint64_t *)tv.sc_perf_pctx.head->next->next->next->value->cvalue;
- result &= (16843024 == *u64p);
+ result &= (16843024 == tv.sc_perf_pctx.head->next->next->next->value);
SCPerfReleasePerfCounterS(tv.sc_perf_pctx.head);
SCPerfReleasePCA(pca);