+ uint64_t ref_id;
+ struct cdat* curr_cdatp;
+ struct odat* curr_odatp;
+ struct set* curr_setp;
+ struct ele* curr_elep;
+ struct ref* curr_refp;
+ struct ref* prev_refp;
+
+ curr_cdatp = curr_cdat();
+ curr_odatp = curr_odat(); //malloced @ insert_ele_label
+ curr_setp = curr_set();
+ curr_elep = curr_ele();
+ curr_refp = alloc_ref();
+ prev_refp = prev_ref();
+
+ /* Populate ele in cdat */
+ curr_elep->cdat_idx = curr_cdatp->idx;
+ curr_setp->num_ele++;
+
+ /* Populate odat for ele */
+ curr_odatp->cdat_idx = curr_cdatp->idx;
+ curr_odatp->refp = curr_refp;
+
+ /* Add ele to ref_buf */
+ ref_id = curr_elep->ref_id;
+
+ if(ref_id == -1) /* user did not define a ref_id so */
+ { ref_id = ss_ref_id;
+ ss_ref_id++;
+ }
+
+ curr_refp->ref_id = ref_id;
+ curr_refp->lastref = prev_refp;
+ curr_refp->odatp = curr_odatp;
+ prev_refp->nextref = curr_refp;
+