if (pos->dummy)
return 0;
- if (definition->index != 0 && definition->index != INT_MAX)
+ if (pos->field_nr++ != 0)
fprintf(pos->fp, ",");
- if (definition->index != INT_MAX)
- fprintf(pos->fp, " ");
+ fprintf(pos->fp, " ");
if (pos->print_names)
fprintf(pos->fp, "%s = ",
g_quark_to_string(definition->name));
- //print_pos_tabs(pos);
+ switch (integer_declaration->base) {
+ case 2:
+ {
+ int bitnr;
+ uint64_t v = integer_definition->value._unsigned;
- if (!compare_definition_path(definition, g_quark_from_static_string("stream.event.header.timestamp"))) {
- if (!pos->print_names)
- fprintf(pos->fp, "[%" PRIu64 "]",
- integer_definition->value._unsigned);
- else
+ fprintf(pos->fp, "b");
+ for (bitnr = 0; bitnr < integer_declaration->len; bitnr++)
+ v <<= 1;
+ for (; bitnr < sizeof(v) * CHAR_BIT; bitnr++) {
+ fprintf(pos->fp, "%u", ((v & 1ULL) << 63) ? 1 : 0);
+ v <<= 1;
+ }
+ break;
+ }
+ case 8:
+ fprintf(pos->fp, "0%" PRIo64,
+ integer_definition->value._unsigned);
+ break;
+ case 10:
+ if (!integer_declaration->signedness) {
fprintf(pos->fp, "%" PRIu64,
integer_definition->value._unsigned);
- return 0;
- }
-
- if (!integer_declaration->signedness) {
- fprintf(pos->fp, "%" PRIu64" (0x%" PRIX64 ")",
- integer_definition->value._unsigned,
+ } else {
+ fprintf(pos->fp, "%" PRId64,
+ integer_definition->value._signed);
+ }
+ break;
+ case 16:
+ fprintf(pos->fp, "0x%" PRIX64,
integer_definition->value._unsigned);
- } else {
- fprintf(pos->fp, "%" PRId64" (0x%" PRIX64 ")",
- integer_definition->value._signed,
- integer_definition->value._signed);
+ break;
+ default:
+ return -EINVAL;
}
+
return 0;
}