iliaa           Fri Dec 12 14:25:34 2003 EDT

  Modified files:              (Branch: PHP_4_3)
    /php-src/ext/standard       file.c 
  Log:
  For BC reasons we need to do ltrim() on csv entries.
  
  
Index: php-src/ext/standard/file.c
diff -u php-src/ext/standard/file.c:1.279.2.43 php-src/ext/standard/file.c:1.279.2.44
--- php-src/ext/standard/file.c:1.279.2.43      Sun Dec  7 16:55:16 2003
+++ php-src/ext/standard/file.c Fri Dec 12 14:25:33 2003
@@ -21,7 +21,7 @@
    +----------------------------------------------------------------------+
  */
 
-/* $Id: file.c,v 1.279.2.43 2003/12/07 21:55:16 moriyoshi Exp $ */
+/* $Id: file.c,v 1.279.2.44 2003/12/12 19:25:33 iliaa Exp $ */
 
 /* Synced with php 3.0 revision 1.218 1999-06-16 [ssb] */
 
@@ -2266,10 +2266,25 @@
 
        array_init(return_value);
 
+#define CSV_ADD_ENTRY(s, es, st, copy) {       \
+       int len = es - st;      \
+       if (len) {      \
+               while (isspace((int)*(unsigned char *)s)) {     \
+                       s++;    \
+                       len--;  \
+               }       \
+       }       \
+       if (len) {      \
+               add_next_index_stringl(return_value, s, len, copy);     \
+       } else {        \
+               add_next_index_string(return_value, "", 1);     \
+       }       \
+}      \
+
        if (!enclosure || !(p = _php_fgetcsv_find_enclosure(s, (e - s), enclosure))) {
 no_enclosure:
                while ((p = memchr(s, delimiter, (e - s)))) {
-                       add_next_index_stringl(return_value, s, (p - s), 1);
+                       CSV_ADD_ENTRY(s, p, s, 1);
                        s = p + 1;
                }
        } else {
@@ -2278,7 +2293,7 @@
 enclosure:
                /* handle complete fields before the enclosure */
                while (s < p && (p2 = memchr(s, delimiter, (p - s)))) {
-                       add_next_index_stringl(return_value, s, (p2 - s), 1);
+                       CSV_ADD_ENTRY(s, p2, s, 1);
                        s = p2 + 1;
                }
 
@@ -2322,7 +2337,7 @@
                                buf2_len += (p - p2);
                        }
                        buf2[buf2_len] = '\0';
-                       add_next_index_stringl(return_value, buf2, buf2_len, 0);
+                       CSV_ADD_ENTRY(buf2, buf2_len, 0, 0);
 
                        if (!(p = _php_fgetcsv_find_enclosure(s, (e - s), enclosure))) 
{
                                goto no_enclosure;
@@ -2342,12 +2357,12 @@
 enclosure_done:
                        s = e = NULL;
                        buf2[buf2_len] = '\0';
-                       add_next_index_stringl(return_value, buf2, buf2_len, 0);
+                       CSV_ADD_ENTRY(buf2, buf2_len, 0, 0);
                }
        }
 
        if (s < e) {
-               add_next_index_stringl(return_value, s, (e - s), 1);
+               CSV_ADD_ENTRY(s, e, s, 1);
        }
        efree(buf);
 }

-- 
PHP CVS Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to