This is an automated email from the git hooks/post-receive script. guillem pushed a commit to branch main in repository dpkg.
View the commit online: https://git.dpkg.org/cgit/dpkg/dpkg.git/commit/?id=35449494e0fe370edf745d4d8eaa8513d28970fa commit 35449494e0fe370edf745d4d8eaa8513d28970fa Author: Guillem Jover <[email protected]> AuthorDate: Sat Aug 10 02:37:50 2024 +0200 libdpkg: Add new varbuf_state C++ methods for all functions This should make using varbuf_state from a C++ codebase more ergonomic. --- lib/dpkg/varbuf.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/lib/dpkg/varbuf.h b/lib/dpkg/varbuf.h index 87be2641f..b6af656da 100644 --- a/lib/dpkg/varbuf.h +++ b/lib/dpkg/varbuf.h @@ -149,6 +149,17 @@ void varbuf_trim_char_prefix(struct varbuf *v, int prefix); struct varbuf_state { struct varbuf *v; size_t used; + +#ifdef __cplusplus + varbuf_state(); + explicit varbuf_state(varbuf &vb); + ~varbuf_state(); + + void snapshot(varbuf &vb); + void rollback(); + size_t rollback_len(); + const char *rollback_end(); +#endif }; void varbuf_snapshot(struct varbuf *v, struct varbuf_state *vs); @@ -360,6 +371,47 @@ varbuf::str() { return varbuf_str(this); } + +inline +varbuf_state::varbuf_state(): + v(nullptr), used(0) +{ +} + +inline +varbuf_state::varbuf_state(varbuf &vb) +{ + varbuf_snapshot(&vb, this); +} + +inline +varbuf_state::~varbuf_state() +{ +} + +inline void +varbuf_state::snapshot(varbuf &vb) +{ + varbuf_snapshot(&vb, this); +} + +inline void +varbuf_state::rollback() +{ + varbuf_rollback(this); +} + +inline size_t +varbuf_state::rollback_len() +{ + return varbuf_rollback_len(this); +} + +inline const char * +varbuf_state::rollback_end() +{ + return varbuf_rollback_end(this); +} #endif #endif /* LIBDPKG_VARBUF_H */ -- Dpkg.Org's dpkg

