X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fevent-field-value.c;h=2babd3de16f70503e7f0d9bc17d7c86d0388dedf;hb=a0377dfefe40662ba7d68617bce6ff467114136c;hp=d7687880f6b8c575d0ae59584676848c29ce9745;hpb=d28fcdec589e6f0c98fed2f6c094defec58e2b24;p=lttng-tools.git diff --git a/src/common/event-field-value.c b/src/common/event-field-value.c index d7687880f..2babd3de1 100644 --- a/src/common/event-field-value.c +++ b/src/common/event-field-value.c @@ -10,7 +10,6 @@ */ #define _LGPL_SOURCE -#include #include #include @@ -190,7 +189,7 @@ struct lttng_event_field_value *lttng_event_field_value_string_create_with_size( goto error; } - assert(val); + LTTNG_ASSERT(val); field_val->val = strndup(val, size); if (!field_val->val) { goto error; @@ -209,7 +208,7 @@ LTTNG_HIDDEN struct lttng_event_field_value *lttng_event_field_value_string_create( const char *val) { - assert(val); + LTTNG_ASSERT(val); return lttng_event_field_value_string_create_with_size(val, strlen(val)); } @@ -298,8 +297,8 @@ int lttng_event_field_value_enum_append_label_with_size( int ret; char *new_label; - assert(field_val); - assert(label); + LTTNG_ASSERT(field_val); + LTTNG_ASSERT(label); new_label = strndup(label, size); if (!new_label) { ret = -1; @@ -324,7 +323,7 @@ int lttng_event_field_value_enum_append_label( struct lttng_event_field_value *field_val, const char *label) { - assert(label); + LTTNG_ASSERT(label); return lttng_event_field_value_enum_append_label_with_size(field_val, label, strlen(label)); } @@ -334,8 +333,8 @@ int lttng_event_field_value_array_append( struct lttng_event_field_value *array_field_val, struct lttng_event_field_value *field_val) { - assert(array_field_val); - assert(field_val); + LTTNG_ASSERT(array_field_val); + LTTNG_ASSERT(field_val); return lttng_dynamic_pointer_array_add_pointer( &container_of(array_field_val, struct lttng_event_field_value_array, parent)->elems, @@ -346,7 +345,7 @@ LTTNG_HIDDEN int lttng_event_field_value_array_append_unavailable( struct lttng_event_field_value *array_field_val) { - assert(array_field_val); + LTTNG_ASSERT(array_field_val); return lttng_dynamic_pointer_array_add_pointer( &container_of(array_field_val, struct lttng_event_field_value_array, parent)->elems, @@ -387,13 +386,19 @@ lttng_event_field_value_unsigned_int_get_value( parent)->val; break; case LTTNG_EVENT_FIELD_VALUE_TYPE_UNSIGNED_ENUM: - *val = container_of( - container_of(field_val, - const struct lttng_event_field_value_enum, - parent), - const struct lttng_event_field_value_enum_uint, - parent)->val; + { + const struct lttng_event_field_value_enum *field_val_enum = container_of( + field_val, + const struct lttng_event_field_value_enum, + parent); + const struct lttng_event_field_value_enum_uint + *field_val_enum_uint = container_of( + field_val_enum, + const struct lttng_event_field_value_enum_uint, + parent); + *val = field_val_enum_uint->val; break; + } default: status = LTTNG_EVENT_FIELD_VALUE_STATUS_INVALID; goto end; @@ -423,13 +428,19 @@ lttng_event_field_value_signed_int_get_value( parent)->val; break; case LTTNG_EVENT_FIELD_VALUE_TYPE_SIGNED_ENUM: - *val = container_of( - container_of(field_val, - const struct lttng_event_field_value_enum, - parent), - const struct lttng_event_field_value_enum_int, - parent)->val; + { + const struct lttng_event_field_value_enum *field_val_enum = container_of( + field_val, + const struct lttng_event_field_value_enum, + parent); + const struct lttng_event_field_value_enum_int + *field_val_enum_uint = container_of( + field_val_enum, + const struct lttng_event_field_value_enum_int, + parent); + *val = field_val_enum_uint->val; break; + } default: status = LTTNG_EVENT_FIELD_VALUE_STATUS_INVALID; goto end; @@ -517,21 +528,23 @@ end: return ret; } -const char *lttng_event_field_value_string_get_value( - const struct lttng_event_field_value *field_val) +enum lttng_event_field_value_status lttng_event_field_value_string_get_value( + const struct lttng_event_field_value *field_val, + const char **value) { - const char *ret; + enum lttng_event_field_value_status status; if (!field_val || field_val->type != LTTNG_EVENT_FIELD_VALUE_TYPE_STRING) { - ret = NULL; + status = LTTNG_EVENT_FIELD_VALUE_STATUS_INVALID; goto end; } - ret = container_of(field_val, + *value = container_of(field_val, const struct lttng_event_field_value_string, parent)->val; + status = LTTNG_EVENT_FIELD_VALUE_STATUS_OK; end: - return ret; + return status; } enum lttng_event_field_value_status lttng_event_field_value_array_get_length(