- DPRINTF (("Child constraints are %s %s and %s %s",
- constraintList_unparse (child1->requiresConstraints),
- constraintList_unparse (child1->ensuresConstraints),
- constraintList_unparse (child2->requiresConstraints),
- constraintList_unparse (child2->ensuresConstraints)));
+ DPRINTF((message ("Child constraints are %s %s and %s %s",
+ constraintList_print (child1->requiresConstraints),
+ constraintList_print (child1->ensuresConstraints),
+ constraintList_print (child2->requiresConstraints),
+ constraintList_print (child2->ensuresConstraints)
+ ) ) );
+
+
+ constraintList_free(parent->requiresConstraints);
+
+ parent->requiresConstraints = constraintList_copy (child1->requiresConstraints);
+
+ if ( context_getFlag (FLG_ORCONSTRAINT) )
+ temp = constraintList_reflectChangesOr (child2->requiresConstraints, child1->ensuresConstraints);
+ else
+ temp = constraintList_reflectChanges(child2->requiresConstraints, child1->ensuresConstraints);
+
+ temp2 = constraintList_mergeRequires (parent->requiresConstraints, temp);
+ constraintList_free(parent->requiresConstraints);
+ constraintList_free(temp);
+
+ parent->requiresConstraints = temp2;
+
+ DPRINTF((message ("Parent requires constraints are %s ",
+ constraintList_print (parent->requiresConstraints)
+ ) ) );
+
+ constraintList_free(parent->ensuresConstraints);
+
+ parent->ensuresConstraints = constraintList_mergeEnsures(child1->ensuresConstraints,
+ child2->ensuresConstraints);
+
+
+ DPRINTF((message ("Parent constraints are %s and %s ",
+ constraintList_print (parent->requiresConstraints),
+ constraintList_print (parent->ensuresConstraints)
+ ) ) );