X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=formats%2Fctf%2Fir%2Fclock.c;fp=formats%2Fctf%2Fir%2Fclock.c;h=195f83716bf3840c79f98fa15861a1783d80c34b;hb=be018f151e598d1916b8bbe265e3dff7e47220ca;hp=f0213868c3ad32a4ab9b1fb17f244a562ceabd22;hpb=daf013576bcddab6341887d1e8e16fd4659c30e4;p=babeltrace.git diff --git a/formats/ctf/ir/clock.c b/formats/ctf/ir/clock.c index f0213868..195f8371 100644 --- a/formats/ctf/ir/clock.c +++ b/formats/ctf/ir/clock.c @@ -26,7 +26,6 @@ * SOFTWARE. */ -#include #include #include #include @@ -47,7 +46,6 @@ struct bt_ctf_clock *_bt_ctf_clock_create(void) clock->precision = 1; clock->frequency = 1000000000; - uuid_generate(clock->uuid); bt_ctf_ref_init(&clock->ref_count); end: return clock; @@ -92,6 +90,12 @@ struct bt_ctf_clock *bt_ctf_clock_create(const char *name) goto error_destroy; } + ret = babeltrace_uuid_generate(clock->uuid); + if (ret) { + goto error_destroy; + } + + clock->uuid_set = 1; return clock; error_destroy: bt_ctf_clock_destroy(&clock->ref_count); @@ -284,7 +288,7 @@ const unsigned char *bt_ctf_clock_get_uuid(struct bt_ctf_clock *clock) { const unsigned char *ret; - if (!clock) { + if (!clock || !clock->uuid_set) { ret = NULL; goto end; } @@ -298,12 +302,13 @@ int bt_ctf_clock_set_uuid(struct bt_ctf_clock *clock, const unsigned char *uuid) { int ret = 0; - if (!clock || !uuid) { + if (!clock || !uuid || clock->frozen) { ret = -1; goto end; } memcpy(clock->uuid, uuid, sizeof(uuid_t)); + clock->uuid_set = 1; end: return ret; }