+ const struct declaration_sequence *sequence_declaration =
+ sequence_definition->declaration;
+ uint64_t len, oldlen, i;
+ int ret;
+
+ ret = generic_rw(pos, &sequence_definition->len->p);
+ if (ret)
+ return ret;
+ len = sequence_definition->len->value._unsigned;
+ /*
+ * Yes, large sequences could be _painfully slow_ to parse due
+ * to memory allocation for each event read. At least, never
+ * shrink the sequence. Note: the sequence GArray len should
+ * never be used as indicator of the current sequence length.
+ * One should always look at the sequence->len->value._unsigned
+ * value for that.
+ */
+ oldlen = sequence_definition->elems->len;
+ if (oldlen < len)
+ g_ptr_array_set_size(sequence_definition->elems, len);