diff options
| author | David Chisnall <theraven@FreeBSD.org> | 2013-12-12 08:55:24 +0000 |
|---|---|---|
| committer | David Chisnall <theraven@FreeBSD.org> | 2013-12-12 08:55:24 +0000 |
| commit | e00bea9e62db034ada0bb2e2ab333ee206a07693 (patch) | |
| tree | 0b4b608f8e69a388d979d1fab6434ea812b58e09 /usr.bin/dtc | |
| parent | ae893e1ad9359169123469adb1b840f80a5728f1 (diff) | |
Notes
Diffstat (limited to 'usr.bin/dtc')
| -rw-r--r-- | usr.bin/dtc/fdt.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/usr.bin/dtc/fdt.cc b/usr.bin/dtc/fdt.cc index b2405efab52e..0599d5501a54 100644 --- a/usr.bin/dtc/fdt.cc +++ b/usr.bin/dtc/fdt.cc @@ -137,7 +137,7 @@ property_value::resolve_type() break; } } - if (is_all_printable && (bytes > nuls)) + if ((is_all_printable && (bytes > nuls)) || bytes == 0) { type = STRING; if (nuls > 0) @@ -204,7 +204,7 @@ property_value::write_as_bytes(FILE *file) putc('[', file); for (byte_buffer::iterator i=byte_data.begin(), e=byte_data.end(); i!=e ; i++) { - fprintf(file, "%hhx", *i); + fprintf(file, "%02hhx", *i); if (i+1 != e) { putc(' ', file); @@ -367,6 +367,11 @@ property::property(input_buffer &structs, input_buffer &strings) return; } key = string(name_buffer); + + // If we're empty, do not push anything as value. + if (!length) + return; + // Read the value uint8_t byte; property_value v; |
