--- lib/metadata.cc | 11 +++++++++++ lib/notmuch.h | 7 +++++++ test/T590-metadata.sh | 2 ++ 3 files changed, 20 insertions(+) diff --git a/lib/metadata.cc b/lib/metadata.cc index 20805e5..6236992 100644 --- a/lib/metadata.cc +++ b/lib/metadata.cc @@ -227,4 +227,15 @@ notmuch_metadata_key (notmuch_metadata_t *metadata) } const char * +notmuch_metadata_value (notmuch_metadata_t *metadata) +{ + const char *key = notmuch_metadata_key (metadata); + char *val; + notmuch_status_t status; + + status=notmuch_database_get_metadata (metadata->notmuch, metadata->mclass, key, &val); + if (status) + return NULL; + + return val; } diff --git a/lib/notmuch.h b/lib/notmuch.h index 16d0973..dd359c8 100644 --- a/lib/notmuch.h +++ b/lib/notmuch.h @@ -1872,6 +1872,13 @@ notmuch_metadata_valid (notmuch_metadata_t *metadata); */ const char * notmuch_metadata_key (notmuch_metadata_t *metadata); + +/** + * return value for current metadata pair + */ +const char * +notmuch_metadata_value (notmuch_metadata_t *metadata); + /* @} */ NOTMUCH_END_DECLS diff --git a/test/T590-metadata.sh b/test/T590-metadata.sh index 2c44746..d2326d4 100755 --- a/test/T590-metadata.sh +++ b/test/T590-metadata.sh @@ -62,12 +62,14 @@ cat c_head - c_tail <<'EOF' | test_C ${MAIL_DIR} RUN(notmuch_database_get_all_metadata (db, NOTMUCH_METADATA_CONFIG, &meta)); printf("valid = %d\n", notmuch_metadata_valid (meta)); printf("key = %s\n", notmuch_metadata_key (meta)); + printf("val = %s\n", notmuch_metadata_value (meta)); } EOF cat <<'EOF' >EXPECTED == stdout == valid = 1 key = testkey1 +val = testvalue1 == stderr == EOF test_expect_equal_file EXPECTED OUTPUT -- 2.6.4