| 4977 | } |
| 4978 | |
| 4979 | void cbm_cypher_result_free(cbm_cypher_result_t *r) { |
| 4980 | if (!r) { |
| 4981 | return; |
| 4982 | } |
| 4983 | free(r->warning); |
| 4984 | r->warning = NULL; |
| 4985 | for (int i = 0; i < r->col_count; i++) { |
| 4986 | safe_str_free(&r->columns[i]); |
| 4987 | } |
| 4988 | free(r->columns); |
| 4989 | for (int i = 0; i < r->row_count; i++) { |
| 4990 | for (int j = 0; j < r->col_count; j++) { |
| 4991 | safe_str_free(&r->rows[i][j]); |
| 4992 | } |
| 4993 | free(r->rows[i]); |
| 4994 | } |
| 4995 | free(r->rows); |
| 4996 | free(r->error); |
| 4997 | memset(r, 0, sizeof(*r)); |
| 4998 | } |