// mode on strings? what about "1.0" and "1" and "1.0000" ?? static void acc_mode_singest(void* pvstate, char* val) { acc_mode_state_t* pstate = pvstate; lhmsie_t* pe = lhmsi_get_entry(pstate->pcounts_for_value, val); if (pe == NULL) { // xxx at the moment, lhmsi does a strdup so we needn't. lhmsi_put(pstate->pcounts_for_value, val, 1); } else { pe->value++; } }
// mode on strings: "1" and "1.0" and "1.0000" are distinct text. static void stats1_mode_singest(void* pvstate, char* val) { stats1_mode_state_t* pstate = pvstate; lhmsie_t* pe = lhmsi_get_entry(pstate->pcounts_for_value, val); if (pe == NULL) { // lhmsi does a strdup so we needn't. lhmsi_put(pstate->pcounts_for_value, mlr_strdup_or_die(val), 1, FREE_ENTRY_KEY); } else { pe->value++; } }