diff --git a/tests/path-references.dts b/tests/path-references.dts index 8c66d80..1fb7d70 100644 --- a/tests/path-references.dts +++ b/tests/path-references.dts @@ -16,7 +16,7 @@ foobar { n3: baz { ref = &{/foo/baz}; - lref = &n4; + lref = start: &n4 end:; }; }; foo { diff --git a/tests/run_tests.sh b/tests/run_tests.sh index e3e64e8..e7ee42b 100755 --- a/tests/run_tests.sh +++ b/tests/run_tests.sh @@ -572,6 +572,12 @@ dtc_tests () { run_dtc_test -I dts -O dts $tree.test.dts run_wrap_test cmp $tree $tree.test.dts done + for tree in path-references; do + run_dtc_test -I dts -O dtb -o $tree.test.dtb $tree.dts + run_dtc_test -I dts -O dts -o $tree.test.dts $tree.dts + run_dtc_test -I dts -O dtb -o $tree.test.dts.test.dtb $tree.test.dts + run_test dtbs_equal_ordered $tree.test.dtb $tree.test.dts.test.dtb + done # Check -Oyaml output if pkg-config --exists yaml-0.1; then diff --git a/treesource.c b/treesource.c index c1fdb86..93fd8ac 100644 --- a/treesource.c +++ b/treesource.c @@ -64,6 +64,10 @@ static bool isstring(char c) static void write_propval_string(FILE *f, const char *s, size_t len) { const char *end = s + len - 1; + + if (!len) + return; + assert(*end == '\0'); fprintf(f, "\"");