summaryrefslogtreecommitdiff
diff options
authorVincent Sanders <vince@kyllikki.org>2025-03-19 22:57:28 +0000
committerVincent Sanders <vince@kyllikki.org>2025-03-19 22:57:28 +0000
commit501c67686df79396bbfba00c5ab835903fe67775 (patch)
tree4e14410a5a182d127ffd45509a8a5a1fb33ac28b
parentc2ac0f37cafe912dac13b6d1798e84de7bdce8a8 (diff)
downloadnetsurf-501c67686df79396bbfba00c5ab835903fe67775.tar.gz
netsurf-501c67686df79396bbfba00c5ab835903fe67775.tar.bz2
Add interface to be able to set single messgae key/value
-rw-r--r--utils/messages.c15
-rw-r--r--utils/messages.h10
2 files changed, 25 insertions, 0 deletions
diff --git a/utils/messages.c b/utils/messages.c
index 418276ec3..441375119 100644
--- a/utils/messages.c
+++ b/utils/messages.c
@@ -202,6 +202,21 @@ nserror messages_add_from_inline(const uint8_t *data, size_t size)
/* exported interface documented in messages.h */
+nserror messages_add_key_value(const char *key, const char *value)
+{
+ /* ensure the hash table is initialised */
+ if (messages_hash == NULL) {
+ messages_hash = messages_create_ctx(HASH_SIZE);
+ }
+ if (messages_hash == NULL) {
+ NSLOG(netsurf, INFO, "Unable to create hash table");
+ return NSERROR_NOMEM;
+ }
+ return hash_add(messages_hash, key, value);
+}
+
+
+/* exported interface documented in messages.h */
char *messages_get_buff(const char *key, ...)
{
const char *msg_fmt;
diff --git a/utils/messages.h b/utils/messages.h
index 5da35e4ad..23b8dcd25 100644
--- a/utils/messages.h
+++ b/utils/messages.h
@@ -65,6 +65,16 @@ nserror messages_add_from_file(const char *path);
nserror messages_add_from_inline(const uint8_t *data, size_t data_size);
/**
+ * Add a single message.
+ *
+ * The message is merged with any previously loaded messages.
+ *
+ * \return NSERROR_OK on success or error code on faliure.
+
+ */
+nserror messages_add_key_value(const char *key, const char *value);
+
+/**
* Fast lookup of a message by key from the standard Messages hash.
*
* \param key key of message
close