static CTX_T* create_parser_data(int options, const char *optional_filename) { CTX_T *data; data = mm_malloc(sizeof(CTX_T)); memset(data, 0, sizeof(CTX_T)); data->options = options; data->motif_queue = linklst_create(); data->errors = linklst_create(); data->file_type_match = file_name_match("dreme", "xml", optional_filename); return data; }
/***************************************************************************** * Create the datastructure for storing motifs while their content is * still being parsed. ****************************************************************************/ static CTX_T* create_parser_data(int options, const char *optional_file_name) { CTX_T *data; data = (CTX_T*)mm_malloc(sizeof(CTX_T)); memset(data, 0, sizeof(CTX_T)); data->format_match = file_name_match("meme", "xml", optional_file_name); data->warnings = linklst_create(); data->errors = linklst_create(); data->motif_queue = linklst_create(); data->options = options; data->letter_lookup = rbtree_create(rbtree_strcmp, rbtree_strcpy, free, rbtree_strcpy, free); data->alph = NULL; data->alph_rdr = NULL; data->nums = NULL; if (options & SCANNED_SITES) { data->sequence_lookup = rbtree_create(rbtree_strcmp, rbtree_strcpy, free, NULL, destroy_seqinfo); data->motif_lookup = rbtree_create(rbtree_strcmp, rbtree_strcpy, free, rbtree_intcpy, free); } return data; }