Escape non-printable characters in xeXMLWriter.
Change-Id: If9baae21331dcf5bde587bd99803f5ca2bc88483
diff --git a/executor/xeXMLWriter.cpp b/executor/xeXMLWriter.cpp
index 387c8c9..feaa2c9 100644
--- a/executor/xeXMLWriter.cpp
+++ b/executor/xeXMLWriter.cpp
@@ -41,6 +41,38 @@
case '&': return "&";
case '\'': return "'";
case '"': return """;
+
+ // Non-printable characters.
+ case 0: return "<NUL>";
+ case 1: return "<SOH>";
+ case 2: return "<STX>";
+ case 3: return "<ETX>";
+ case 4: return "<EOT>";
+ case 5: return "<ENQ>";
+ case 6: return "<ACK>";
+ case 7: return "<BEL>";
+ case 8: return "<BS>";
+ case 11: return "<VT>";
+ case 12: return "<FF>";
+ case 14: return "<SO>";
+ case 15: return "<SI>";
+ case 16: return "<DLE>";
+ case 17: return "<DC1>";
+ case 18: return "<DC2>";
+ case 19: return "<DC3>";
+ case 20: return "<DC4>";
+ case 21: return "<NAK>";
+ case 22: return "<SYN>";
+ case 23: return "<ETB>";
+ case 24: return "<CAN>";
+ case 25: return "<EM>";
+ case 26: return "<SUB>";
+ case 27: return "<ESC>";
+ case 28: return "<FS>";
+ case 29: return "<GS>";
+ case 30: return "<RS>";
+ case 31: return "<US>";
+
default: return DE_NULL;
}
}