return (0);
} /* int sn_stage_comparator_remove */
+sn_stage_t *sn_stage_clone (const sn_stage_t *s)
+{
+ sn_stage_t *s_copy;
+
+ s_copy = sn_stage_create (s->depth);
+ if (s_copy == NULL)
+ return (NULL);
+
+ s_copy->comparators = (sn_comparator_t *) malloc (s->comparators_num
+ * sizeof (sn_comparator_t));
+ if (s_copy->comparators == NULL)
+ {
+ free (s_copy);
+ return (NULL);
+ }
+
+ memcpy (s_copy->comparators, s->comparators,
+ s->comparators_num * sizeof (sn_comparator_t));
+ s_copy->comparators_num = s->comparators_num;
+
+ return (s_copy);
+} /* sn_stage_t *sn_stage_clone */
+
int sn_stage_comparator_check_conflict (sn_stage_t *s, const sn_comparator_t *c0)
{
int i;
#define SN_STAGE_COMP_GET(s,n) ((s)->comparators + (n))
sn_stage_t *sn_stage_create (int depth);
+sn_stage_t *sn_stage_clone (const sn_stage_t *s);
void sn_stage_destroy (sn_stage_t *s);
int sn_stage_comparator_add (sn_stage_t *s, const sn_comparator_t *c);