diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/pugixml.cpp | 7 | 
1 files changed, 5 insertions, 2 deletions
diff --git a/src/pugixml.cpp b/src/pugixml.cpp index 241eaed..e24ba3c 100644 --- a/src/pugixml.cpp +++ b/src/pugixml.cpp @@ -2920,11 +2920,14 @@ namespace  			}  			else if (!node.first_child())  				writer.write(' ', '/', '>', '\n'); -			else if (node.first_child() == node.last_child() && node.first_child().type() == node_pcdata) +			else if (node.first_child() == node.last_child() && (node.first_child().type() == node_pcdata || node.first_child().type() == node_cdata))  			{  				writer.write('>'); -				text_output_escaped(writer, node.first_child().value(), ctx_special_pcdata); +                if (node.first_child().type() == node_pcdata) +                    text_output_escaped(writer, node.first_child().value(), ctx_special_pcdata); +                else +                    text_output_cdata(writer, node.first_child().value());  				writer.write('<', '/');  				writer.write(name);  | 
