153 } |
153 } |
154 |
154 |
155 // iterate through the list and output the data |
155 // iterate through the list and output the data |
156 CxIterator iter = cxListIterator(datalist); |
156 CxIterator iter = cxListIterator(datalist); |
157 cx_foreach(CSVData*, data, iter) { |
157 cx_foreach(CSVData*, data, iter) { |
158 printf("Column A: %.*s | " |
158 printf("Column A: %" CX_PRIstr " | " |
159 "Column B: %.*s | " |
159 "Column B: %" CX_PRIstr " | " |
160 "Column C: %.*s\n", |
160 "Column C: %" CX_PRIstr "\n", |
161 (int)data->column_a.length, data->column_a.ptr, |
161 CX_SFMT(data->column_a), |
162 (int)data->column_b.length, data->column_b.ptr, |
162 CX_SFMT(data->column_b), |
163 (int)data->column_c.length, data->column_c.ptr |
163 CX_SFMT(data->column_c) |
164 ); |
164 ); |
165 } |
165 } |
166 |
166 |
167 // cleanup everything, no manual free() needed |
167 // cleanup everything, no manual free() needed |
168 cxMempoolFree(pool); |
168 cxMempoolFree(pool); |