aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorDavid Bremner <david@tethera.net>2020-05-27 11:49:10 -0300
committerDavid Bremner <david@tethera.net>2020-05-27 11:49:10 -0300
commitad61f8e34d0201eeb1e7008c5e574a47e0345f91 (patch)
tree88328a4a3f51ddf1310ae422dfb175935042e9a4 /lib
parent58e860521808e65b33e958cfa5eba1565c669e5c (diff)
parenta59ef7d02cb229c2ec3569024918024003568aea (diff)
Merge tag 'debian/0.29.3-1' into debian/buster-backports
notmuch Debian 0.29.3-1 upload (same as 0.29.3)
Diffstat (limited to 'lib')
-rw-r--r--lib/config.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/config.cc b/lib/config.cc
index da71c16e..a8bcdf83 100644
--- a/lib/config.cc
+++ b/lib/config.cc
@@ -150,13 +150,17 @@ notmuch_config_list_valid (notmuch_config_list_t *metadata)
return true;
}
+static inline char * _key_from_iterator (notmuch_config_list_t *list) {
+ return talloc_strdup (list, (*list->iterator).c_str () + CONFIG_PREFIX.length ());
+}
+
const char *
notmuch_config_list_key (notmuch_config_list_t *list)
{
if (list->current_key)
talloc_free (list->current_key);
- list->current_key = talloc_strdup (list, (*list->iterator).c_str () + CONFIG_PREFIX.length ());
+ list->current_key = _key_from_iterator (list);
return list->current_key;
}
@@ -166,7 +170,7 @@ notmuch_config_list_value (notmuch_config_list_t *list)
{
std::string strval;
notmuch_status_t status;
- const char *key = notmuch_config_list_key (list);
+ char *key = _key_from_iterator (list);
/* TODO: better error reporting?? */
status = _metadata_value (list->notmuch, key, strval);
@@ -177,6 +181,7 @@ notmuch_config_list_value (notmuch_config_list_t *list)
talloc_free (list->current_val);
list->current_val = talloc_strdup (list, strval.c_str ());
+ talloc_free (key);
return list->current_val;
}