libctf: dump: dump struct-based bitfields

This commit is contained in:
Nick Alcock
2025-04-25 21:22:20 +01:00
parent fa2ed703f7
commit 8586d4d1fd

View File

@@ -723,12 +723,26 @@ ctf_dump_member (ctf_dict_t *fp, const char *name, ctf_id_t id,
| CTF_FT_ID)) == NULL)
return -1; /* errno is set for us. */
if (asprintf (&bit, "[0x%lx] %s: %s\n", offset, name, typestr) < 0)
if (asprintf (&bit, "[0x%lx] %s:", offset, name) < 0)
goto oom;
*state->cdm_str = str_append (*state->cdm_str, bit);
free (bit);
if (bit_width > 0)
{
if (asprintf (&bit, "%i:", bit_width) < 0)
goto oom;
*state->cdm_str = str_append (*state->cdm_str, bit);
free (bit);
}
if (asprintf (&bit, " %s\n", typestr) < 0)
goto oom;
*state->cdm_str = str_append (*state->cdm_str, bit);
free (typestr);
free (bit);
typestr = NULL;
bit = NULL;