X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fevent-field-value.c;h=850f9eda18e63648ba7829ae13641b5b3c104592;hb=3afa94aeca5a0daae40fd7b6cc96b7e4c150c7d8;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..850f9eda1 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 @@ -35,7 +34,6 @@ end: return field_val; } -LTTNG_HIDDEN struct lttng_event_field_value *lttng_event_field_value_uint_create( uint64_t val) { @@ -59,7 +57,6 @@ end: return &field_val->parent; } -LTTNG_HIDDEN struct lttng_event_field_value *lttng_event_field_value_int_create( int64_t val) { @@ -105,7 +102,6 @@ end: return field_val; } -LTTNG_HIDDEN struct lttng_event_field_value *lttng_event_field_value_enum_uint_create( uint64_t val) { @@ -129,7 +125,6 @@ end: return &field_val->parent.parent; } -LTTNG_HIDDEN struct lttng_event_field_value *lttng_event_field_value_enum_int_create( int64_t val) { @@ -153,7 +148,6 @@ end: return &field_val->parent.parent; } -LTTNG_HIDDEN struct lttng_event_field_value *lttng_event_field_value_real_create(double val) { struct lttng_event_field_value_real *field_val = container_of( @@ -176,7 +170,6 @@ end: return &field_val->parent; } -LTTNG_HIDDEN struct lttng_event_field_value *lttng_event_field_value_string_create_with_size( const char *val, size_t size) { @@ -190,7 +183,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; @@ -205,11 +198,10 @@ end: return &field_val->parent; } -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)); } @@ -220,7 +212,6 @@ void destroy_field_val(void *field_val) lttng_event_field_value_destroy(field_val); } -LTTNG_HIDDEN struct lttng_event_field_value *lttng_event_field_value_array_create(void) { struct lttng_event_field_value_array *field_val = container_of( @@ -243,7 +234,6 @@ end: return &field_val->parent; } -LTTNG_HIDDEN void lttng_event_field_value_destroy(struct lttng_event_field_value *field_val) { if (!field_val) { @@ -290,7 +280,6 @@ end: return; } -LTTNG_HIDDEN int lttng_event_field_value_enum_append_label_with_size( struct lttng_event_field_value *field_val, const char *label, size_t size) @@ -298,8 +287,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; @@ -319,34 +308,31 @@ end: return ret; } -LTTNG_HIDDEN 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)); } -LTTNG_HIDDEN 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, field_val); } -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 +373,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 +415,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 +515,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(