aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--sprinter-json.c2
-rw-r--r--sprinter-text.c2
-rw-r--r--sprinter.h4
-rwxr-xr-xtest/missing-headers2
4 files changed, 7 insertions, 3 deletions
diff --git a/sprinter-json.c b/sprinter-json.c
index c9b68353..0a077907 100644
--- a/sprinter-json.c
+++ b/sprinter-json.c
@@ -118,6 +118,8 @@ json_string_len (struct sprinter *sp, const char *val, size_t len)
static void
json_string (struct sprinter *sp, const char *val)
{
+ if (val == NULL)
+ val = "";
json_string_len (sp, val, strlen (val));
}
diff --git a/sprinter-text.c b/sprinter-text.c
index dfa54b57..10343be4 100644
--- a/sprinter-text.c
+++ b/sprinter-text.c
@@ -38,6 +38,8 @@ text_string_len (struct sprinter *sp, const char *val, size_t len)
static void
text_string (struct sprinter *sp, const char *val)
{
+ if (val == NULL)
+ val = "";
text_string_len (sp, val, strlen (val));
}
diff --git a/sprinter.h b/sprinter.h
index 5f431757..912a5262 100644
--- a/sprinter.h
+++ b/sprinter.h
@@ -27,7 +27,9 @@ typedef struct sprinter {
* a list or map, followed or preceded by separators). For string
* and string_len, the char * must be UTF-8 encoded. string_len
* allows non-terminated strings and strings with embedded NULs
- * (though the handling of the latter is format-dependent).
+ * (though the handling of the latter is format-dependent). For
+ * string (but not string_len) the string pointer passed may be
+ * NULL.
*/
void (*string) (struct sprinter *, const char *);
void (*string_len) (struct sprinter *, const char *, size_t);
diff --git a/test/missing-headers b/test/missing-headers
index e79f9227..f14b8784 100755
--- a/test/missing-headers
+++ b/test/missing-headers
@@ -29,7 +29,6 @@ thread:XXX 2001-01-05 [1/1] (null); (inbox unread)
thread:XXX 1970-01-01 [1/1] Notmuch Test Suite; (inbox unread)"
test_begin_subtest "Search: json"
-test_subtest_known_broken
output=$(notmuch search --format=json '*' | notmuch_search_sanitize)
test_expect_equal_json "$output" '
[
@@ -93,7 +92,6 @@ Body
message}"
test_begin_subtest "Show: json"
-test_subtest_known_broken
output=$(notmuch show --format=json '*' | notmuch_json_show_sanitize)
test_expect_equal_json "$output" '
[