NAME create_vars -- Create variables in a var_list free_vars -- Free variables in a var_list free_var_list -- Free memory used by nodes in var_list init_var_list -- Initialise a var_list make_var_list -- Create a var_list from an expression SYNOPSIS int create_vars(vl); void free_vars(vl); void free_var_list(vl); #define init_var_list(vl); var_list *make_var_list(val, vl); var_list *vl; The variable list value val; The expression RETURNS create_vars : TRUE if it succeeds, FALSE otherwise (no memory). make_var_list : returns vl, NULL if not enough memory (it then frees the whole var_list). FUNCTION These routines deal with var_lists: init_var_list() initialises the var_list (it must be called first), make_var_list() adds to vl all the variables in the expression val (as long as they aren't already there), free_var_list frees the memory used by the nodes in the list. You can then call create_vars, this creates all the variables in the var_list(by calling create_var_name). If it fails, none of the variables will have been created (so don't call free_vars !). Finally free_vars frees all the variables in a var_list (by calling free_var_name). SEE ALSO create_var_name, free_var_name