void dstate_free(void) { state_infofree(dtree_root); dtree_root = NULL; state_cmdfree(cmdhead); cmdhead = NULL; sock_close(); }
void state_cmdfree(cmdlist_t *list) { if (!list) { return; } state_cmdfree(list->next); free(list->name); free(list); }