Changeset 308 for trunk/ext/php

Show
Ignore:
Timestamp:
04/27/2008 08:35:26 (4 months ago)
Author:
indeyets
Message:

multiline strings are exported in folded format, now

Location:
trunk/ext/php
Files:
3 modified

Legend:

Unmodified
Added
Removed
  • trunk/ext/php/CHANGELOG

    r298 r308  
    55  changes: 
    66    - fixed bug#31 (broken yaml caused segfault) 
     7    - multiline strings are exported in folded format (for readability) now 
    78 
    89- version: 0.9.2 
  • trunk/ext/php/TODO

    r300 r308  
    1010  - allow user to assign custom handler for loading any other type of objects (java, ruby, etc.) 
    1111dump: 
    12   - export multiline strings in "folded" format 
    1312  - merge 
    1413  - objects: 
  • trunk/ext/php/phpext.c

    r303 r308  
    661661 
    662662                case IS_STRING: 
    663                         syck_emit_scalar(e, "str", scalar_2quote, 0, 0, 0, Z_STRVAL_P(data), Z_STRLEN_P(data)); 
     663                { 
     664                        enum scalar_style style = scalar_2quote; 
     665                        const char *ptr; 
     666 
     667                        for (ptr = Z_STRVAL_P(data); ptr != Z_STRVAL_P(data) + Z_STRLEN_P(data); ptr++) { 
     668                                if (*ptr == '\n') { 
     669                                        style = scalar_fold; 
     670                                } 
     671                        } 
     672 
     673                        syck_emit_scalar(e, "str", style, 0, 0, 0, Z_STRVAL_P(data), Z_STRLEN_P(data)); 
     674                } 
    664675                break; 
    665676