If two clock classes only differ by their "origin is Unix epoch"
property, they will compare equal as far as `compare_clock_classes` is
concerned. Add a comparison for that.
Change-Id: Iecac8fd4aa3064b221291264f4fc6758e32a0943
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Reviewed-on: https://review.lttng.org/c/babeltrace/+/12067
Reviewed-by: Philippe Proulx <eeppeliteloop@gmail.com>
Tested-by: jenkins <jenkins@lttng.org>
const char *left_clock_class_name, *right_clock_class_name;
bt_uuid left_clock_class_uuid, right_clock_class_uuid;
uint64_t left_freq, right_freq, left_prec, right_prec;
const char *left_clock_class_name, *right_clock_class_name;
bt_uuid left_clock_class_uuid, right_clock_class_uuid;
uint64_t left_freq, right_freq, left_prec, right_prec;
+ bool left_origin_is_unix, right_origin_is_unix;
left_clock_class_uuid = bt_clock_class_get_uuid(left_cc);
right_clock_class_uuid = bt_clock_class_get_uuid(right_cc);
left_clock_class_uuid = bt_clock_class_get_uuid(left_cc);
right_clock_class_uuid = bt_clock_class_get_uuid(right_cc);
+ left_origin_is_unix = bt_clock_class_origin_is_unix_epoch(left_cc);
+ right_origin_is_unix = bt_clock_class_origin_is_unix_epoch(right_cc);
+
+ if (left_origin_is_unix != right_origin_is_unix) {
+ ret = left_origin_is_unix - right_origin_is_unix;
+ goto end;
+ }
left_clock_class_name = bt_clock_class_get_name(left_cc);
right_clock_class_name = bt_clock_class_get_name(right_cc);
left_clock_class_name = bt_clock_class_get_name(left_cc);
right_clock_class_name = bt_clock_class_get_name(right_cc);