diff --git a/monitor/avctp.c b/monitor/avctp.c
index 4abd18f..11dc9b2 100644
--- a/monitor/avctp.c
+++ b/monitor/avctp.c
num = avrcp_continuing.num;
if (avrcp_continuing.size > 0) {
+ char attrval[UINT8_MAX];
uint16_t size;
+ uint8_t idx;
if (avrcp_continuing.size > len) {
size = len;
avrcp_continuing.size = 0;
}
- printf("ContinuingAttributeValue: ");
- for (; size > 0; size--) {
+ for (idx = 0; size > 0; idx++, size--) {
uint8_t c;
if (!l2cap_frame_get_u8(frame, &c))
goto failed;
- printf("%1c", isprint(c) ? c : '.');
+ sprintf(&attrval[idx], "%1c",
+ isprint(c) ? c : '.');
}
- printf("\n");
+ print_field("%*cContinuingAttributeValue: %s",
+ (indent - 8), ' ', attrval);
len -= size;
}
while (num > 0 && len > 0) {
uint32_t attr;
uint16_t charset, attrlen;
+ uint8_t idx;
+ char attrval[UINT8_MAX];
if (!l2cap_frame_get_be32(frame, &attr))
goto failed;
len -= sizeof(attr) + sizeof(charset) + sizeof(attrlen);
num--;
- print_field("%*cAttributeValue: ", (indent - 8), ' ');
- for (; attrlen > 0 && len > 0; attrlen--, len--) {
+ for (idx = 0; attrlen > 0 && len > 0; idx++, attrlen--, len--) {
uint8_t c;
if (!l2cap_frame_get_u8(frame, &c))
goto failed;
- printf("%1c", isprint(c) ? c : '.');
+ sprintf(&attrval[idx], "%1c", isprint(c) ? c : '.');
}
+ print_field("%*cAttributeValue: %s", (indent - 8),
+ ' ', attrval);
if (attrlen > 0)
avrcp_continuing.size = attrlen;