static void acc_count_emit(void* pvstate, char* value_field_name, char* acc_name, lrec_t* poutrec) { acc_count_state_t* pstate = pvstate; char* key = mlr_paste_3_strings(value_field_name, "_", acc_name); char* val = mlr_alloc_string_from_ull(pstate->count); lrec_put(poutrec, key, val, LREC_FREE_ENTRY_KEY|LREC_FREE_ENTRY_VALUE); }
static void step_counter_sprocess(void* pvstate, char* strv, lrec_t* prec) { step_counter_state_t* pstate = pvstate; pstate->counter++; lrec_put(prec, pstate->output_field_name, mlr_alloc_string_from_ull(pstate->counter), LREC_FREE_ENTRY_VALUE); }
// ---------------------------------------------------------------- static char * test_scanners() { mu_assert("error: mlr_alloc_string_from_double", streq(mlr_alloc_string_from_double(4.25, "%.4f"), "4.2500")); mu_assert("error: mlr_alloc_string_from_ull", streq(mlr_alloc_string_from_ull(12345LL), "12345")); mu_assert("error: mlr_alloc_string_from_int", streq(mlr_alloc_string_from_int(12345), "12345")); return 0; }