Ticket #23: teqXML.d.patch

File teqXML.d.patch, 1.1 kB (added by Nietsnie, 1 year ago)
  • teqXML.d

    old new  
    118118    private Status status; 
    119119    private uint tabs; 
    120120    private bool pretty; 
     121    private bool didCData = false; 
    121122    private UnicodeBom!(T) encoder; 
    122123    private MyWriter writer; 
    123124    private IBuffer buffer; 
     
    249250        else 
    250251        { 
    251252            assert(status == Status.InElement); 
    252             if (pretty) writeTabs(); 
     253            if (pretty && !didCData) writeTabs(); 
     254            else didCData = false; 
    253255            writer(Const.lt)(Const.fs)(name)(Const.gt); 
    254256        } 
    255257         
     
    260262    { 
    261263        assert(status != Status.End); 
    262264         
    263         if (status == Status.InElement) 
    264         { 
    265             if (cstatus.containsStart()) 
    266                 writeTabs(); 
    267         } 
    268         else if (status == Status.InTag) 
     265        if (status == Status.InTag) 
    269266        { 
    270267            assert(cstatus.containsStart()); 
    271268            status = Status.InElement; 
    272269            writer(Const.gt); 
    273             if (pretty) writer(Const.CR); 
    274             writeTabs(); 
    275270        } 
    276271         
    277272        if (!check) 
     
    284279        } 
    285280         
    286281        if (pretty && cstatus.containsEnd()) 
    287             writer(Const.CR)
     282            didCData = true
    288283    } 
    289284     
    290285    private void outputChecked(T[] data)