X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=liblttng-ust-comm%2Flttng-ust-comm.c;h=23de8c0949d46a1fdb140a9dc72bcc93ec5e66a0;hb=2b213b1689abff993a84a21f4eefe50d9884ac0a;hp=1395eee2f22ea6bb19f56e496d30853e1aee6168;hpb=c9023c9304149ee1a4134571fdc41fd5e2e2a1a9;p=lttng-ust.git diff --git a/liblttng-ust-comm/lttng-ust-comm.c b/liblttng-ust-comm/lttng-ust-comm.c index 1395eee2..23de8c09 100644 --- a/liblttng-ust-comm/lttng-ust-comm.c +++ b/liblttng-ust-comm/lttng-ust-comm.c @@ -631,7 +631,8 @@ int ustcomm_send_reg_msg(int sock, } static -int serialize_basic_type(enum lttng_abstract_types atype, +int serialize_basic_type(enum ustctl_abstract_types *uatype, + enum lttng_abstract_types atype, union _ustctl_basic_type *ubt, const union _lttng_basic_type *lbt) { @@ -649,11 +650,13 @@ int serialize_basic_type(enum lttng_abstract_types atype, uit->base = lit->base; uit->encoding = lit->encoding; uit->alignment = lit->alignment; + *uatype = ustctl_atype_integer; break; } case atype_string: { ubt->string.encoding = lbt->string.encoding; + *uatype = ustctl_atype_string; break; } case atype_float: @@ -667,6 +670,7 @@ int serialize_basic_type(enum lttng_abstract_types atype, uft->mant_dig = lft->mant_dig; uft->alignment = lft->alignment; uft->reverse_byte_order = lft->reverse_byte_order; + *uatype = ustctl_atype_float; break; } case atype_enum: @@ -676,7 +680,6 @@ int serialize_basic_type(enum lttng_abstract_types atype, return -EINVAL; } return 0; - } static @@ -688,7 +691,7 @@ int serialize_one_type(struct ustctl_type *ut, const struct lttng_type *lt) case atype_integer: case atype_float: case atype_string: - ret = serialize_basic_type(lt->atype, + ret = serialize_basic_type(&ut->atype, lt->atype, &ut->u.basic, <->u.basic); if (ret) return ret; @@ -702,10 +705,11 @@ int serialize_one_type(struct ustctl_type *ut, const struct lttng_type *lt) ubt = &ut->u.array.elem_type; lbt = <->u.array.elem_type; ut->u.array.length = lt->u.array.length; - ret = serialize_basic_type(lbt->atype, + ret = serialize_basic_type(&ubt->atype, lbt->atype, &ubt->u.basic, &lbt->u.basic); if (ret) return -EINVAL; + ut->atype = ustctl_atype_array; break; } case atype_sequence: @@ -716,16 +720,17 @@ int serialize_one_type(struct ustctl_type *ut, const struct lttng_type *lt) ubt = &ut->u.sequence.length_type; lbt = <->u.sequence.length_type; - ret = serialize_basic_type(lbt->atype, + ret = serialize_basic_type(&ubt->atype, lbt->atype, &ubt->u.basic, &lbt->u.basic); if (ret) return -EINVAL; ubt = &ut->u.sequence.elem_type; lbt = <->u.sequence.elem_type; - ret = serialize_basic_type(lbt->atype, + ret = serialize_basic_type(&ubt->atype, lbt->atype, &ubt->u.basic, &lbt->u.basic); if (ret) return -EINVAL; + ut->atype = ustctl_atype_sequence; break; } case atype_enum: