X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=genevent%2Fgenevent.c;h=799be7be3fa1192c2fa982d3b15e348faa915cfe;hb=c902404990f997d6d5476424e68478de7645655d;hp=220cbd70f7a36f3ff97c6ace13196bfc31b811c8;hpb=2fef3d3e1a0425e9aeedbf4b7c2e7af5d13869ef;p=lttv.git diff --git a/genevent/genevent.c b/genevent/genevent.c index 220cbd70..799be7be 100644 --- a/genevent/genevent.c +++ b/genevent/genevent.c @@ -1610,7 +1610,13 @@ int print_event_logging_function(char *basename, facility_t *fac, fprintf(fd, "ltt_facility_%s_%X, event_%s_%s,\n", fac->name, fac->checksum, fac->name, event->name); print_tabs(3, fd); - fprintf(fd, "reserve_size, before_hdr_pad, tsc, compact_data);\n"); + if(event->compact_data) { + assert(event->fields.position > 0); + field_t *field = (field_t*)(event->fields.array[0]); + fprintf(fd, "reserve_size, before_hdr_pad, tsc, lttng_param_%s);\n", + field->name); + } else + fprintf(fd, "reserve_size, before_hdr_pad, tsc, 0);\n"); } print_tabs(2, fd); fprintf(fd, "*to_base += before_hdr_pad + after_hdr_pad + header_size;\n"); @@ -1621,7 +1627,10 @@ int print_event_logging_function(char *basename, facility_t *fac, for(unsigned int i=0;ifields.position;i++){ field_t *field = (field_t*)(event->fields.array[i]); type_descriptor_t *type = field->type; - + + /* First param is compacted in the header */ + if(event->compact_data && i == 0) + continue; /* Set from */ print_tabs(2, fd); switch(type->type) {