| 2805 | } |
| 2806 | |
| 2807 | static void rb_add_row(result_builder_t *rb, const char **values) { |
| 2808 | if (rb->row_count >= rb->row_cap) { |
| 2809 | rb->row_cap *= PAIR_LEN; |
| 2810 | rb->rows = safe_realloc(rb->rows, rb->row_cap * sizeof(const char **)); |
| 2811 | } |
| 2812 | const char **row = |
| 2813 | malloc((rb->col_count > 0 ? (size_t)rb->col_count : SKIP_ONE) * sizeof(const char *)); |
| 2814 | for (int i = 0; i < rb->col_count; i++) { |
| 2815 | row[i] = values[i] ? heap_strdup(values[i]) : heap_strdup(""); |
| 2816 | } |
| 2817 | rb->rows[rb->row_count++] = row; |
| 2818 | } |
| 2819 | |
| 2820 | /* ── Main execution ─────────────────────────────────────────────── */ |
| 2821 |
no test coverage detected