fix: pad short rows in SetRows to the number of columns
SetRows stored rows with fewer cells than the header unchanged, so short rows rendered fmt's %!s(MISSING) verb and an empty row combined with a first-column formatter panicked on vals[0]. Pad short rows to the column count, mirroring AddRow's documented behavior of rendering missing cells as empty.
This commit is contained in:
1 parent
46b76d9bbe
commit
b384e08abf
2 files changed
+32
-2
No files matched your search
@@ -238,10 +238,13 @@ func (t *table) SetRows(rows [][]string) Table {
|
||||
headerLength := len(t.header)
|
||||
|
||||
for _, row := range rows {
|
||||
if len(row) > headerLength {
|
||||
if len(row) >= headerLength {
|
||||
t.rows = append(t.rows, row[:headerLength])
|
||||
} else {
|
||||
t.rows = append(t.rows, row)
|
||||
// pad short rows so every column is rendered, matching AddRow
|
||||
padded := make([]string, headerLength)
|
||||
copy(padded, row)
|
||||
t.rows = append(t.rows, padded)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user