From 4706b29f19cde1e5f758e29d157eca680a82ae95 Mon Sep 17 00:00:00 2001 From: Adam Sutton Date: Tue, 9 Apr 2013 22:23:02 +0100 Subject: [PATCH] htsmsg: add ability to set/update a u32 --- src/htsmsg.c | 15 +++++++++++++++ src/htsmsg.h | 5 +++++ 2 files changed, 20 insertions(+) diff --git a/src/htsmsg.c b/src/htsmsg.c index 90f4e4eb..62307dac 100644 --- a/src/htsmsg.c +++ b/src/htsmsg.c @@ -186,6 +186,21 @@ htsmsg_add_u32(htsmsg_t *msg, const char *name, uint32_t u32) f->hmf_s64 = u32; } +/* + * + */ +int +htsmsg_set_u32(htsmsg_t *msg, const char *name, uint32_t u32) +{ + htsmsg_field_t *f = htsmsg_field_find(msg, name); + if (!f) + f = htsmsg_field_add(msg, name, HMF_S64, HMF_NAME_ALLOCED); + if (f->hmf_type != HMF_S64) + return 1; + f->hmf_s64 = u32; + return 0; +} + /* * */ diff --git a/src/htsmsg.h b/src/htsmsg.h index 8343634f..05beb2cf 100644 --- a/src/htsmsg.h +++ b/src/htsmsg.h @@ -111,6 +111,11 @@ void htsmsg_destroy(htsmsg_t *msg); */ void htsmsg_add_u32(htsmsg_t *msg, const char *name, uint32_t u32); +/** + * Add/update an integer field + */ +int htsmsg_set_u32(htsmsg_t *msg, const char *name, uint32_t u32); + /** * Add an integer field where source is signed 32 bit. */