X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=formats%2Fctf%2Fmetadata%2Fctf-visitor-generate-io-struct.c;h=2eba30bd46d3475cf9a2c74e679646bba7fef119;hb=7c8a138614de162b26bd280934a4d0569701f07c;hp=bba15b684ffcc9bf3fa6abbeea56e9550cbb7897;hpb=fdce39de38b04770cc25bdf52a60bda7ef24c18b;p=babeltrace.git diff --git a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c index bba15b68..2eba30bd 100644 --- a/formats/ctf/metadata/ctf-visitor-generate-io-struct.c +++ b/formats/ctf/metadata/ctf-visitor-generate-io-struct.c @@ -1898,7 +1898,6 @@ int ctf_trace_declaration_visit(FILE *fd, int depth, struct ctf_node *node, stru ret = -EPERM; goto error; } else { - CTF_TRACE_SET_FIELD(trace, byte_order); if (byte_order != trace->byte_order) { trace->byte_order = byte_order; /* @@ -1909,6 +1908,7 @@ int ctf_trace_declaration_visit(FILE *fd, int depth, struct ctf_node *node, stru return -EINTR; } } + CTF_TRACE_SET_FIELD(trace, byte_order); } else if (!strcmp(left, "packet.header")) { struct declaration *declaration; @@ -2003,8 +2003,10 @@ error: free_declaration_scope(trace->declaration_scope); trace->declaration_scope = NULL; /* byte order changed while creating types, retry. */ - if (ret == -EINTR) + if (ret == -EINTR) { + trace->field_mask = 0; goto restart; + } return ret; }