static gpointer test_dup(gconstpointer data) { const test_t *org = (const test_t *)data; test_t *test; test = (test_t *)test_new(NULL); test->op = org->op; test->val1 = stnode_dup(org->val1); test->val2 = stnode_dup(org->val1); return (gpointer) test; }
static gpointer range_dup(gconstpointer data) { const range_t *org = (const range_t *)data; range_t *range; range = (range_t *)range_new(NULL); range->entity = stnode_dup(org->entity); range->drange = drange_dup(org->drange); return (gpointer) range; }
static gpointer function_dup(gconstpointer data) { const function_t *org = data; function_t *stfuncrec; GSList *p; stfuncrec = function_new(org->funcdef); for (p = org->params; p; p = p->next) { const stnode_t *param = p->data; stfuncrec->params = g_slist_append(stfuncrec->params, stnode_dup(param)); } return (gpointer) stfuncrec; }