diff options
author | Vincent Sanders <vince@kyllikki.org> | 2025-03-19 22:57:28 +0000 |
---|---|---|
committer | Vincent Sanders <vince@kyllikki.org> | 2025-03-19 22:57:28 +0000 |
commit | 501c67686df79396bbfba00c5ab835903fe67775 (patch) | |
tree | 4e14410a5a182d127ffd45509a8a5a1fb33ac28b | |
parent | c2ac0f37cafe912dac13b6d1798e84de7bdce8a8 (diff) | |
download | netsurf-501c67686df79396bbfba00c5ab835903fe67775.tar.gz netsurf-501c67686df79396bbfba00c5ab835903fe67775.tar.bz2 |
Add interface to be able to set single messgae key/value
-rw-r--r-- | utils/messages.c | 15 | ||||
-rw-r--r-- | utils/messages.h | 10 |
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 |