Permalink
Browse files

Bug 733722 - XML Output invalid: XML_PROGRAMLISTING=YES copies Unicod…

…e form feed character (U+000C) to XML files
  • Loading branch information...
Dimitri van Heesch
Dimitri van Heesch committed Aug 15, 2014
1 parent 392b48a commit b272b4b5077873457a0f6b517ac799f4a5f8c951
Showing with 16 additions and 6 deletions.
  1. +5 −0 src/util.cpp
  2. +11 −6 src/xmlgen.cpp
@@ -5605,6 +5605,11 @@ QCString convertToXML(const char *s)
case '&': growBuf.addStr("&"); break;
case '\'': growBuf.addStr("'"); break;
case '"': growBuf.addStr("""); break;
case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8:
case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18:
case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26:
case 27: case 28: case 29: case 30: case 31:
break; // skip invalid XML characters (see http://www.w3.org/TR/2000/REC-xml-20001006#NT-Char)
default: growBuf.addChar(c); break;
}
}
@@ -129,10 +129,10 @@ inline void writeXMLCodeString(FTextStream &t,const char *s, int &col)
{
switch(c)
{
case '\t':
{
case '\t':
{
static int tabSize = Config_getInt("TAB_SIZE");
int spacesToNextTabStop = tabSize - (col%tabSize);
int spacesToNextTabStop = tabSize - (col%tabSize);
col+=spacesToNextTabStop;
while (spacesToNextTabStop--) t << "<sp/>";
break;
@@ -141,11 +141,16 @@ inline void writeXMLCodeString(FTextStream &t,const char *s, int &col)
case '<': t << "&lt;"; col++; break;
case '>': t << "&gt;"; col++; break;
case '&': t << "&amp;"; col++; break;
case '\'': t << "&apos;"; col++; break;
case '\'': t << "&apos;"; col++; break;
case '"': t << "&quot;"; col++; break;
default: s=writeUtf8Char(t,s-1); col++; break;
case 1: case 2: case 3: case 4: case 5: case 6: case 7: case 8:
case 11: case 12: case 13: case 14: case 15: case 16: case 17: case 18:
case 19: case 20: case 21: case 22: case 23: case 24: case 25: case 26:
case 27: case 28: case 29: case 30: case 31:
break; // skip invalid XML characters (see http://www.w3.org/TR/2000/REC-xml-20001006#NT-Char)
default: s=writeUtf8Char(t,s-1); col++; break;
}
}
}
}

0 comments on commit b272b4b

Please sign in to comment.