/* * $Id: mdd_bund.c,v 1.5 2002/08/27 03:24:30 fabio Exp $ */ #include "mdd.h" int mdd_bundle_variables( mdd_manager *mgr, array_t *bundle_vars, char *mdd_var_name, int *mdd_id) { array_t *mvar_list, *bvar_list; mvar_type var_i, new_var; int i, var_i_id; bvar_type *bit_i_ptr; mvar_list = mdd_ret_mvar_list(mgr); bvar_list = mdd_ret_bvar_list(mgr); new_var.mvar_id = array_n(mvar_list); *mdd_id = new_var.mvar_id; new_var.name = ALLOC( char, MAX( (int) strlen(mdd_var_name), integer_get_num_of_digits(new_var.mvar_id) + 5 ) ); if ( strcmp(mdd_var_name,"") != 0) strcpy(new_var.name, mdd_var_name); else { strcpy(new_var.name,""); sprintf(new_var.name,"mv_%d", new_var.mvar_id); }; new_var.encode_length = array_n(bundle_vars); new_var.status = MDD_ACTIVE; new_var.encoding = ALLOC(int, new_var.encode_length); new_var.bvars = array_alloc(int, 0); new_var.values = 1; for(i=0; imvar_id = new_var.mvar_id; } return TRUE; } /*---------------------------------------------------------------------------*/ /* Static function prototypes */ /*---------------------------------------------------------------------------*/