[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ros-diffs
Subject:    [ros-diffs] [mf] 19775: XML-encode characters below 0x20
From:       <mf () svn ! reactos ! com>
Date:       2005-11-30 11:57:24
Message-ID: 000001c5f5a5$3a520570$6b01a8c0 () PENELOPE
[Download RAW message or body]

XML-encode characters below 0x20
Modified: trunk/reactos/subsys/system/explorer/utility/xmlstorage.cpp
  _____  

Modified: trunk/reactos/subsys/system/explorer/utility/xmlstorage.cpp
--- trunk/reactos/subsys/system/explorer/utility/xmlstorage.cpp
2005-11-30 09:16:21 UTC (rev 19774)
+++ trunk/reactos/subsys/system/explorer/utility/xmlstorage.cpp
2005-11-30 11:57:20 UTC (rev 19775)
@@ -490,7 +490,13 @@

 			break;
 
 		  default:
-			*o++ = *p;
+			if ((unsigned)*p<20 && *p!='\t' && *p!='\r' &&
*p!='\n') {
+				char b[16];
+				sprintf(b, "&%d;", (unsigned)*p);
+				for(const char*q=b; *q; )
+					*o++ = *q++;
+			} else
+				*o++ = *p;
 		}
 
 #ifdef XS_STRING_UTF8

[Attachment #3 (text/html)]

<html>
<head>
<style>
<!--
body { background-color:#ffffff }
.file { border:1px solid #eeeeee; margin-top:1em; margin-bottom:1em }
.pathname { font-family:monospace; float:right }
.fileheader { margin-bottom:.5em }
.diff { margin:0 }
.tasklist { padding:4px; border:1px dashed #000000; margin-top:1em }
.tasklist ul { margin-top:0; margin-bottom:0 }
tr.alt { background-color:#eeeeee }
#added { background-color:#ddffdd }
#addedchars { background-color:#99ff99; font-weight:bolder }
tr.alt #added { background-color:#ccf7cc }
#removed { background-color:#ffdddd }
#removedchars { background-color:#ff9999; font-weight:bolder }
tr.alt #removed { background-color:#f7cccc }
#info { color:#888888 }
#context { background-color:#eeeeee }
td {padding-left:.3em; padding-right:.3em }
tr.head { border-bottom-width:1px; border-bottom-style:solid }
tr.head td { padding:0; padding-top:.2em }
.task { background-color:#ffff00 }
.comment { padding:4px; border:1px dashed #000000; background-color:#ffffdd }
.error { color:red }
hr { border-width:0px; height:2px; background:black }
-->
</style>
</head>
<body>
<pre class="comment">XML-encode characters below 0x20</pre><pre class="diff" \
id="context">Modified: trunk/reactos/subsys/system/explorer/utility/xmlstorage.cpp \
</pre><hr /><div class="file"> <div class="fileheader"><big><b>Modified: \
trunk/reactos/subsys/system/explorer/utility/xmlstorage.cpp</b></big></div> <pre \
class="diff"><small id="info">--- \
trunk/reactos/subsys/system/explorer/utility/xmlstorage.cpp	2005-11-30 09:16:21 UTC \
                (rev 19774)
+++ trunk/reactos/subsys/system/explorer/utility/xmlstorage.cpp	2005-11-30 11:57:20 \
UTC (rev 19775) @@ -490,7 +490,13 @@
</small></pre><pre class="diff" id="context"> 			break;
 
 		 &nbsp;default:
</pre><pre class="diff" id="removed">-			<span id="removedchars">*o++ = *p;</span>
</pre><pre class="diff" id="added">+			<span id="addedchars">if ((unsigned)*p&lt;20 \
&amp;&amp; *p!='\t' &amp;&amp; *p!='\r' &amp;&amp; *p!='\n') {</span> +				char \
b[16]; +				sprintf(b, &quot;&amp;%d;&quot;, (unsigned)*p);
+				for(const char*q=b; *q; )
+					*o++ = *q++;
+			} else
+				*o++ = *p;
</pre><pre class="diff" id="context"> 		}
 
 #ifdef XS_STRING_UTF8
</pre>
</div>

</body>
</html>



[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic