lib: add internal bt_field_sequence_get_int_length()
[babeltrace.git] / lib / ctf-ir / fields.c
index 1525934ed2703316e7841d73a44d8f2966f73896..0fe5630e232d400b8efed96fd5c54a38d0650a91 100644 (file)
@@ -406,6 +406,27 @@ bt_bool bt_field_is_variant(struct bt_field *field)
        return bt_field_get_type_id(field) == BT_FIELD_TYPE_ID_VARIANT;
 }
 
+BT_HIDDEN
+int64_t bt_field_sequence_get_int_length(struct bt_field *field)
+{
+       struct bt_field_sequence *sequence;
+       int64_t ret;
+
+       assert(field);
+       assert(bt_field_type_get_type_id(field->type) ==
+               BT_FIELD_TYPE_ID_SEQUENCE);
+       sequence = container_of(field, struct bt_field_sequence, parent);
+       if (!sequence->length) {
+               ret = -1;
+               goto end;
+       }
+
+       ret = (int64_t) sequence->elements->len;
+
+end:
+       return ret;
+}
+
 struct bt_field *bt_field_sequence_get_length(
                struct bt_field *field)
 {
This page took 0.027344 seconds and 4 git commands to generate.