From 57a9f43a3a08ec058852160c7b6b73c844aa2a08 Mon Sep 17 00:00:00 2001 From: Mathieu Desnoyers Date: Thu, 1 Mar 2012 18:15:38 -0500 Subject: [PATCH] FreeBSD uuid wrapper fixes Signed-off-by: Mathieu Desnoyers --- include/babeltrace/ctf/metadata.h | 1 - include/babeltrace/uuid.h | 27 ++++++++++++++++++--------- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/include/babeltrace/ctf/metadata.h b/include/babeltrace/ctf/metadata.h index f283fe70..de8a1a8e 100644 --- a/include/babeltrace/ctf/metadata.h +++ b/include/babeltrace/ctf/metadata.h @@ -25,7 +25,6 @@ #include #include #include -#include #include #include diff --git a/include/babeltrace/uuid.h b/include/babeltrace/uuid.h index dfe1e020..3404ed43 100644 --- a/include/babeltrace/uuid.h +++ b/include/babeltrace/uuid.h @@ -31,9 +31,10 @@ int babeltrace_uuid_generate(unsigned char *uuid_out) } static inline -void babeltrace_uuid_unparse(const unsigned char *uuid_in, char *str_out) +int babeltrace_uuid_unparse(const unsigned char *uuid_in, char *str_out) { - return uuid_unparse(uuid_in, str_out); + uuid_unparse(uuid_in, str_out); + return 0; } static inline @@ -52,6 +53,8 @@ int babeltrace_uuid_compare(const unsigned char *uuid_a, #elif defined(BABELTRACE_HAVE_LIBC_UUID) #include #include +#include +#include static inline int babeltrace_uuid_generate(unsigned char *uuid_out) @@ -66,15 +69,21 @@ int babeltrace_uuid_generate(unsigned char *uuid_out) } static inline -void babeltrace_uuid_unparse(const unsigned char *uuid_in, char *str_out) +int babeltrace_uuid_unparse(const unsigned char *uuid_in, char *str_out) { uint32_t status; - - uuid_to_string((uuid_t *) uuid_in, str_out, &status); - if (status == uuid_s_ok) - return 0; - else - return -1; + char *alloc_str; + int ret; + + uuid_to_string((uuid_t *) uuid_in, &alloc_str, &status); + if (status == uuid_s_ok) { + strcpy(str_out, alloc_str); + ret = 0; + } else { + ret = -1; + } + free(alloc_str); + return ret; } static inline -- 2.34.1