From abfda09eda3aeedde10a653875d00a1f00bcae16 Mon Sep 17 00:00:00 2001 From: Moriyoshi Koizumi Date: Sun, 18 Jan 2004 20:29:34 +0000 Subject: [PATCH] Fix fgetcsv() to reflect the change on 4.3.5 behaviour. --- ext/standard/file.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/ext/standard/file.c b/ext/standard/file.c index f2982c388c..8853168182 100644 --- a/ext/standard/file.c +++ b/ext/standard/file.c @@ -1904,6 +1904,7 @@ PHP_FUNCTION(fgetcsv) /* real enclosure */ memcpy(tptr, hunk_begin, bptr - hunk_begin - 1); tptr += (bptr - hunk_begin - 1); + hunk_begin = bptr; goto quit_loop_2; } memcpy(tptr, hunk_begin, bptr - hunk_begin); @@ -1929,6 +1930,7 @@ PHP_FUNCTION(fgetcsv) /* real enclosure */ memcpy(tptr, hunk_begin, bptr - hunk_begin - 1); tptr += (bptr - hunk_begin - 1); + hunk_begin = bptr; goto quit_loop_2; case 1: bptr += inc_len; @@ -1959,7 +1961,6 @@ PHP_FUNCTION(fgetcsv) /* break is omitted intentionally */ case 1: if (*bptr == delimiter) { - bptr += inc_len; goto quit_loop_3; } break; @@ -1971,6 +1972,9 @@ PHP_FUNCTION(fgetcsv) } quit_loop_3: + memcpy(tptr, hunk_begin, bptr - hunk_begin); + tptr += (bptr - hunk_begin); + bptr += inc_len; comp_end = tptr; } else { /* 2B. Handle non-enclosure field */ -- 2.50.1