Show NULL pointers as "nil" in trace output

Fix a test case that asserted that NULL strings should be shown as "".
diff --git a/lens_default.c b/lens_default.c
index 532296c..a2233b8 100644
--- a/lens_default.c
+++ b/lens_default.c
@@ -247,11 +247,19 @@
 int
 format_pointer(FILE *stream, struct value *value, struct value_dict *arguments)
 {
+	if (value_is_zero(value, arguments))
+		return fprintf(stream, "nil");
+
 	struct value element;
-	if (value_init_deref(&element, value) < 0)
-		return -1;
-	int o = format_argument(stream, &element, arguments);
+	int o;
+	if (value_init_deref(&element, value) < 0) {
+		o = -1;
+		goto done;
+	}
+	o = format_argument(stream, &element, arguments);
 	value_destroy(&element);
+
+done:
 	return o;
 }