return a->i < b->i ? -1 : a->i > b->i;
}
+static void
+print_idl_row_updated_simple(const struct idltest_simple *s, int step)
+{
+ size_t i;
+ bool updated = false;
+
+ for (i = 0; i < IDLTEST_SIMPLE_N_COLUMNS; i++) {
+ if (idltest_simple_is_updated(s, i)) {
+ if (!updated) {
+ printf("%03d: updated columns:", step);
+ updated = true;
+ }
+ printf(" %s", idltest_simple_columns[i].name);
+ }
+ }
+ if (updated) {
+ printf("\n");
+ }
+}
+
+static void
+print_idl_row_updated_link1(const struct idltest_link1 *l1, int step)
+{
+ size_t i;
+ bool updated = false;
+
+ for (i = 0; i < IDLTEST_LINK1_N_COLUMNS; i++) {
+ if (idltest_link1_is_updated(l1, i)) {
+ if (!updated) {
+ printf("%03d: updated columns:", step);
+ updated = true;
+ }
+ printf(" %s", idltest_link1_columns[i].name);
+ }
+ }
+ if (updated) {
+ printf("\n");
+ }
+}
+
+static void
+print_idl_row_updated_link2(const struct idltest_link2 *l2, int step)
+{
+ size_t i;
+ bool updated = false;
+
+ for (i = 0; i < IDLTEST_LINK2_N_COLUMNS; i++) {
+ if (idltest_link2_is_updated(l2, i)) {
+ if (!updated) {
+ printf("%03d: updated columns:", step);
+ updated = true;
+ }
+ printf(" %s", idltest_link2_columns[i].name);
+ }
+ }
+ if (updated) {
+ printf("\n");
+ }
+}
+
static void
print_idl_row_simple(const struct idltest_simple *s, int step)
{
printf("%s"UUID_FMT, i ? " " : "", UUID_ARGS(&s->ua[i]));
}
printf("] uuid="UUID_FMT"\n", UUID_ARGS(&s->header_.uuid));
+ print_idl_row_updated_simple(s, step);
}
static void
printf("%"PRId64, l1->l2->i);
}
printf(" uuid="UUID_FMT"\n", UUID_ARGS(&l1->header_.uuid));
+ print_idl_row_updated_link1(l1, step);
}
static void
printf("%"PRId64, l2->l1->i);
}
printf(" uuid="UUID_FMT"\n", UUID_ARGS(&l2->header_.uuid));
+ print_idl_row_updated_link2(l2, step);
}
static void