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=2294b1ae6f0b47d000105f3d677d7b16341a1e7a commit 2294b1ae6f0b47d000105f3d677d7b16341a1e7a Author: Guillem Jover <[email protected]> AuthorDate: Mon Jul 22 16:00:07 2024 +0200 libdpkg: Add new varbuf_set_*fmt() functions --- lib/dpkg/libdpkg.map | 2 ++ lib/dpkg/varbuf.c | 20 ++++++++++++++++++++ lib/dpkg/varbuf.h | 4 ++++ 3 files changed, 26 insertions(+) diff --git a/lib/dpkg/libdpkg.map b/lib/dpkg/libdpkg.map index 0b69c39ff..2980769ed 100644 --- a/lib/dpkg/libdpkg.map +++ b/lib/dpkg/libdpkg.map @@ -120,6 +120,8 @@ LIBDPKG_PRIVATE { varbuf_str; varbuf_set_varbuf; varbuf_set_buf; + varbuf_set_vfmt; + varbuf_set_fmt; varbuf_add_varbuf; varbuf_add_vfmt; varbuf_add_fmt; diff --git a/lib/dpkg/varbuf.c b/lib/dpkg/varbuf.c index 4a38b47cc..690fcc298 100644 --- a/lib/dpkg/varbuf.c +++ b/lib/dpkg/varbuf.c @@ -119,6 +119,26 @@ varbuf_set_varbuf(struct varbuf *v, struct varbuf *other) varbuf_set_buf(v, other->buf, other->used); } +int +varbuf_set_vfmt(struct varbuf *v, const char *fmt, va_list args) +{ + varbuf_reset(v); + return varbuf_add_vfmt(v, fmt, args); +} + +int +varbuf_set_fmt(struct varbuf *v, const char *fmt, ...) +{ + va_list args; + int n; + + va_start(args, fmt); + n = varbuf_set_vfmt(v, fmt, args); + va_end(args); + + return n; +} + void varbuf_add_varbuf(struct varbuf *v, const struct varbuf *other) { diff --git a/lib/dpkg/varbuf.h b/lib/dpkg/varbuf.h index 3d28c1096..74a4c3fe1 100644 --- a/lib/dpkg/varbuf.h +++ b/lib/dpkg/varbuf.h @@ -90,6 +90,10 @@ void varbuf_set_varbuf(struct varbuf *v, struct varbuf *other); void varbuf_set_buf(struct varbuf *v, const void *buf, size_t size); #define varbuf_set_str(v, s) varbuf_set_buf(v, s, strlen(s)) #define varbuf_set_strn(v, s, n) varbuf_set_buf(v, s, strnlen(s, n)) +int varbuf_set_vfmt(struct varbuf *v, const char *fmt, va_list args) + DPKG_ATTR_VPRINTF(2); +int varbuf_set_fmt(struct varbuf *v, const char *fmt, ...) + DPKG_ATTR_PRINTF(2); void varbuf_add_varbuf(struct varbuf *v, const struct varbuf *other); void varbuf_add_char(struct varbuf *v, int c); -- Dpkg.Org's dpkg

