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;
}