diff options
author | Felix Fietkau <nbd@nbd.name> | 2023-11-29 17:38:30 +0300 |
---|---|---|
committer | Felix Fietkau <nbd@nbd.name> | 2023-11-29 23:59:23 +0300 |
commit | 325fea5c57cf7917ff5e633dd28715af84018993 (patch) | |
tree | 2794c2174eb7fc54e795a5eed1a1017e5e2d35b9 /udebug.c | |
parent | e80dc00ee90c29ef56ae28f414b0e5bb361206e7 (diff) |
udebug: add functions for manipulating entry length
Can be used to reserve worst case length using udebug_entry_append,
then setting the final length using udebug_entry_set_length
Signed-off-by: Felix Fietkau <nbd@nbd.name>
Diffstat (limited to 'udebug.c')
-rw-r--r-- | udebug.c | 19 |
1 files changed, 19 insertions, 0 deletions
@@ -467,6 +467,25 @@ void *udebug_entry_append(struct udebug_buf *buf, const void *data, uint32_t len return ret; } +uint16_t udebug_entry_trim(struct udebug_buf *buf, uint16_t len) +{ + struct udebug_hdr *hdr = buf->hdr; + struct udebug_ptr *ptr = udebug_ring_ptr(hdr, hdr->head); + + if (len) + ptr->len -= len; + + return ptr->len; +} + +void udebug_entry_set_length(struct udebug_buf *buf, uint16_t len) +{ + struct udebug_hdr *hdr = buf->hdr; + struct udebug_ptr *ptr = udebug_ring_ptr(hdr, hdr->head); + + ptr->len = len; +} + int udebug_entry_printf(struct udebug_buf *buf, const char *fmt, ...) { va_list ap; |