From 5a213541ea2b90478498cb8ec8e55969d34e38e5 Mon Sep 17 00:00:00 2001 From: Thomas Haller Date: Tue, 12 Jan 2021 19:03:42 +0100 Subject: [PATCH] shared: add nm_str_buf_append_{dirty,c_len}() helpers --- shared/nm-glib-aux/nm-str-buf.h | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/shared/nm-glib-aux/nm-str-buf.h b/shared/nm-glib-aux/nm-str-buf.h index d770b8266a..6edd451ee5 100644 --- a/shared/nm-glib-aux/nm-str-buf.h +++ b/shared/nm-glib-aux/nm-str-buf.h @@ -267,6 +267,31 @@ nm_str_buf_append_required_delimiter(NMStrBuf *strbuf, char delimiter) return strbuf; } +static inline void +nm_str_buf_append_dirty(NMStrBuf *strbuf, gsize len) +{ + _nm_str_buf_assert(strbuf); + + /* this append @len bytes to the buffer, but it does not + * initialize them! */ + if (len > 0) { + nm_str_buf_maybe_expand(strbuf, len, FALSE); + strbuf->_priv_len += len; + } +} + +static inline void +nm_str_buf_append_c_len(NMStrBuf *strbuf, char ch, gsize len) +{ + _nm_str_buf_assert(strbuf); + + if (len > 0) { + nm_str_buf_maybe_expand(strbuf, len, FALSE); + memset(&strbuf->_priv_str[strbuf->_priv_len], ch, len); + strbuf->_priv_len += len; + } +} + static inline void nm_str_buf_reset(NMStrBuf *strbuf, const char *str) {