summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Schmucker <ts@its1.de>2020-06-13 17:10:58 +0200
committerThomas Schmucker <ts@its1.de>2020-06-13 17:10:58 +0200
commit05e33fb46c233f063e36eb9664ccc5553a4ae1af (patch)
tree570665f4d130d1aa30e56f88f1e5646bd8b42569
parentac47b6e5fe71dae5e0dae6da5cc2a769a4277f30 (diff)
downloadlibcsv-05e33fb46c233f063e36eb9664ccc5553a4ae1af.tar.gz
libcsv-05e33fb46c233f063e36eb9664ccc5553a4ae1af.tar.bz2
libcsv-05e33fb46c233f063e36eb9664ccc5553a4ae1af.zip
zst => state, ZST_ => STATE_
-rw-r--r--csv-test.c64
1 files changed, 32 insertions, 32 deletions
diff --git a/csv-test.c b/csv-test.c
index d1ff79e..9b99a36 100644
--- a/csv-test.c
+++ b/csv-test.c
@@ -163,12 +163,12 @@ int
163csv_read(csv_t *csv, FILE *in) 163csv_read(csv_t *csv, FILE *in)
164{ 164{
165 enum { 165 enum {
166 ZST_START_FIELD, 166 STATE_START_FIELD,
167 ZST_QUOTED_FIELD, 167 STATE_QUOTED_FIELD,
168 ZST_SIMPLE_FIELD, 168 STATE_SIMPLE_FIELD,
169 ZST_END_FIELD, 169 STATE_END_FIELD,
170 ZST_END_LINE, 170 STATE_END_LINE,
171 ZST_END_FILE, 171 STATE_END_FILE,
172 }; 172 };
173 173
174 register const int QUOTE = csv->csv_options->quote_symbol; 174 register const int QUOTE = csv->csv_options->quote_symbol;
@@ -177,65 +177,65 @@ csv_read(csv_t *csv, FILE *in)
177 csv_string_reset(&csv->csv_string); 177 csv_string_reset(&csv->csv_string);
178 csv_field_reset(&csv->csv_field); 178 csv_field_reset(&csv->csv_field);
179 179
180 for ( int zst = ZST_START_FIELD; ; ) { 180 for ( int state = STATE_START_FIELD; ; ) {
181 int ch; 181 int ch;
182 182
183 switch ( zst ) { 183 switch ( state ) {
184 case ZST_START_FIELD: 184 case STATE_START_FIELD:
185 csv_field_append(&csv->csv_field, csv->csv_string.pos); 185 csv_field_append(&csv->csv_field, csv->csv_string.pos);
186 186
187 ch = getc(in); 187 ch = getc(in);
188 if ( ch == EOF ) { 188 if ( ch == EOF ) {
189 zst = ZST_END_FILE; 189 state = STATE_END_FILE;
190 } 190 }
191 else if ( ch == '\r' ) { /* Teste auf CR.. */ 191 else if ( ch == '\r' ) { /* Teste auf CR.. */
192 ch = getc(in); 192 ch = getc(in);
193 if ( ch != '\n' ) { /* ... LF */ 193 if ( ch != '\n' ) { /* ... LF */
194 ungetc(ch, in); 194 ungetc(ch, in);
195 } 195 }
196 zst = ZST_END_LINE; 196 state = STATE_END_LINE;
197 } 197 }
198 else if ( ch == '\n' ) { 198 else if ( ch == '\n' ) {
199 zst = ZST_END_LINE; 199 state = STATE_END_LINE;
200 } 200 }
201 else if ( ch == SEP ) { 201 else if ( ch == SEP ) {
202 zst = ZST_END_FIELD; 202 state = STATE_END_FIELD;
203 } 203 }
204 else if ( ch == QUOTE ) { 204 else if ( ch == QUOTE ) {
205 zst = ZST_QUOTED_FIELD; 205 state = STATE_QUOTED_FIELD;
206 } 206 }
207 else { 207 else {
208 csv_string_append(&csv->csv_string, ch); 208 csv_string_append(&csv->csv_string, ch);
209 zst = ZST_SIMPLE_FIELD; 209 state = STATE_SIMPLE_FIELD;
210 } 210 }
211 break; 211 break;
212 212
213 case ZST_QUOTED_FIELD: 213 case STATE_QUOTED_FIELD:
214 do { 214 do {
215 ch = getc(in); 215 ch = getc(in);
216 if ( ch == EOF ) { 216 if ( ch == EOF ) {
217 zst = ZST_END_FILE; 217 state = STATE_END_FILE;
218 } 218 }
219 else if ( ch == QUOTE ) { 219 else if ( ch == QUOTE ) {
220 ch = getc(in); 220 ch = getc(in);
221 if ( ch == EOF ) { 221 if ( ch == EOF ) {
222 zst = ZST_END_FILE; 222 state = STATE_END_FILE;
223 } 223 }
224 else if ( ch == QUOTE ) { 224 else if ( ch == QUOTE ) {
225 csv_string_append(&csv->csv_string, QUOTE); 225 csv_string_append(&csv->csv_string, QUOTE);
226 } 226 }
227 else if ( ch == SEP ) { 227 else if ( ch == SEP ) {
228 zst = ZST_END_FIELD; 228 state = STATE_END_FIELD;
229 } 229 }
230 else if ( ch == '\r' ) { 230 else if ( ch == '\r' ) {
231 ch = getc(in); 231 ch = getc(in);
232 if ( ch != '\n' ) { 232 if ( ch != '\n' ) {
233 ungetc(ch, in); 233 ungetc(ch, in);
234 } 234 }
235 zst = ZST_END_LINE; 235 state = STATE_END_LINE;
236 } 236 }
237 else if ( ch == '\n' ) { 237 else if ( ch == '\n' ) {
238 zst = ZST_END_LINE; 238 state = STATE_END_LINE;
239 } 239 }
240 else { 240 else {
241 csv_string_append(&csv->csv_string, QUOTE); 241 csv_string_append(&csv->csv_string, QUOTE);
@@ -245,44 +245,44 @@ csv_read(csv_t *csv, FILE *in)
245 else { 245 else {
246 csv_string_append(&csv->csv_string, ch); 246 csv_string_append(&csv->csv_string, ch);
247 } 247 }
248 } while ( zst == ZST_QUOTED_FIELD ); 248 } while ( state == STATE_QUOTED_FIELD );
249 break; 249 break;
250 250
251 case ZST_SIMPLE_FIELD: 251 case STATE_SIMPLE_FIELD:
252 do { 252 do {
253 ch = getc(in); 253 ch = getc(in);
254 if ( ch == EOF ) { 254 if ( ch == EOF ) {
255 zst = ZST_END_FILE; 255 state = STATE_END_FILE;
256 } 256 }
257 else if ( ch == SEP ) { 257 else if ( ch == SEP ) {
258 zst = ZST_END_FIELD; 258 state = STATE_END_FIELD;
259 } 259 }
260 else if ( ch == '\r' ) { 260 else if ( ch == '\r' ) {
261 ch = getc(in); 261 ch = getc(in);
262 if ( ch != '\n' ) { 262 if ( ch != '\n' ) {
263 ungetc(ch, in); 263 ungetc(ch, in);
264 } 264 }
265 zst = ZST_END_LINE; 265 state = STATE_END_LINE;
266 } 266 }
267 else if ( ch == '\n' ) { 267 else if ( ch == '\n' ) {
268 zst = ZST_END_LINE; 268 state = STATE_END_LINE;
269 } 269 }
270 else { 270 else {
271 csv_string_append(&csv->csv_string, ch); 271 csv_string_append(&csv->csv_string, ch);
272 } 272 }
273 } while ( zst == ZST_SIMPLE_FIELD ); 273 } while ( state == STATE_SIMPLE_FIELD );
274 break; 274 break;
275 275
276 case ZST_END_FIELD: 276 case STATE_END_FIELD:
277 csv_string_append(&csv->csv_string, '\0'); 277 csv_string_append(&csv->csv_string, '\0');
278 zst = ZST_START_FIELD; 278 state = STATE_START_FIELD;
279 break; 279 break;
280 280
281 case ZST_END_LINE: 281 case STATE_END_LINE:
282 csv_string_append(&csv->csv_string, '\0'); 282 csv_string_append(&csv->csv_string, '\0');
283 return csv->csv_field.pos; 283 return csv->csv_field.pos;
284 284
285 case ZST_END_FILE: 285 case STATE_END_FILE:
286 if ( csv_string_empty(&csv->csv_string) ) { 286 if ( csv_string_empty(&csv->csv_string) ) {
287 return -1; /* EOF reached */ 287 return -1; /* EOF reached */
288 } 288 }