| ... | @@ -828,19 +828,21 @@ const coff = struct { | ... | @@ -828,19 +828,21 @@ const coff = struct { |
| 828 | defer gpa.free(string_table); | 828 | defer gpa.free(string_table); |
| 829 | | 829 | |
| 830 | if (d.opts.strings) { | 830 | if (d.opts.strings) { |
| 831 | if (d.element(.@"table-header")) | 831 | if (string_table.len > 0) { |
| 832 | try w.print( | 832 | if (d.element(.@"table-header")) |
| 833 | \\String Table (0x{x} bytes): | 833 | try w.print( |
| 834 | \\ | 834 | \\String Table (0x{x} bytes): |
| 835 | , .{string_table.len}); | 835 | \\ |
| | 836 | , .{string_table.len}); |
| 836 | | 837 | |
| 837 | var sr = Io.Reader.fixed(string_table[@sizeOf(u32)..]); | 838 | var sr = Io.Reader.fixed(string_table[@sizeOf(u32)..]); |
| 838 | while (try sr.takeDelimiter(0)) |str| { | 839 | while (try sr.takeDelimiter(0)) |str| { |
| 839 | try w.writeAll(str); | 840 | try w.writeAll(str); |
| 840 | try w.writeByte('\n'); | 841 | try w.writeByte('\n'); |
| 841 | } | 842 | } |
| 842 | | 843 | |
| 843 | if (d.element(.newlines)) try w.writeByte('\n'); | 844 | if (d.element(.newlines)) try w.writeByte('\n'); |
| | 845 | } else try w.writeAll("String table not present\n"); |
| 844 | } | 846 | } |
| 845 | | 847 | |
| 846 | var sections: std.ArrayList(Section) = .empty; | 848 | var sections: std.ArrayList(Section) = .empty; |