diff options
| -rw-r--r-- | csv.c | 12 |
1 files changed, 9 insertions, 3 deletions
| @@ -345,7 +345,9 @@ csv_read(csv_t *csv, FILE *in) | |||
| 345 | state = STATE_QUOTED_FIELD; | 345 | state = STATE_QUOTED_FIELD; |
| 346 | } | 346 | } |
| 347 | else { | 347 | else { |
| 348 | csv_string_append(&csv->csv_string, ch, csv->csv_options); | 348 | if ( ch != '\0' ) { |
| 349 | csv_string_append(&csv->csv_string, ch, csv->csv_options); | ||
| 350 | } | ||
| 349 | state = STATE_SIMPLE_FIELD; | 351 | state = STATE_SIMPLE_FIELD; |
| 350 | } | 352 | } |
| 351 | break; | 353 | break; |
| @@ -383,7 +385,9 @@ csv_read(csv_t *csv, FILE *in) | |||
| 383 | } | 385 | } |
| 384 | } | 386 | } |
| 385 | else { | 387 | else { |
| 386 | csv_string_append(&csv->csv_string, ch, csv->csv_options); | 388 | if ( ch != '\0' ) { |
| 389 | csv_string_append(&csv->csv_string, ch, csv->csv_options); | ||
| 390 | } | ||
| 387 | } | 391 | } |
| 388 | } while ( state == STATE_QUOTED_FIELD ); | 392 | } while ( state == STATE_QUOTED_FIELD ); |
| 389 | break; | 393 | break; |
| @@ -408,7 +412,9 @@ csv_read(csv_t *csv, FILE *in) | |||
| 408 | state = STATE_END_LINE; | 412 | state = STATE_END_LINE; |
| 409 | } | 413 | } |
| 410 | else { | 414 | else { |
| 411 | csv_string_append(&csv->csv_string, ch, csv->csv_options); | 415 | if ( ch != '\0' ) { |
| 416 | csv_string_append(&csv->csv_string, ch, csv->csv_options); | ||
| 417 | } | ||
| 412 | } | 418 | } |
| 413 | } while ( state == STATE_SIMPLE_FIELD ); | 419 | } while ( state == STATE_SIMPLE_FIELD ); |
| 414 | break; | 420 | break; |
