dlr 2004/05/14 08:47:05
Modified: src/java/org/apache/xmlrpc/applet SimpleXmlRpcClient.java Log: * src/java/org/apache/xmlrpc/applet/SimpleXmlRpcClient.java XmlWriter.write(byte[]): As there's no overload for StringBuffer.append(byte[]) (only an Object overload), iterate through the bytes in the input parameter, casting each one to chars. This has the possibility of causing problems for multi-byte character sets, but at least isn't completely wrong like the previous implementation. Longer term, 28982 should be implemented in its place. Issue: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19746 Submitted by: Lee Haslup Revision Changes Path 1.8 +12 -2 ws-xmlrpc/src/java/org/apache/xmlrpc/applet/SimpleXmlRpcClient.java Index: SimpleXmlRpcClient.java =================================================================== RCS file: /home/cvs/ws-xmlrpc/src/java/org/apache/xmlrpc/applet/SimpleXmlRpcClient.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -u -r1.7 -r1.8 --- SimpleXmlRpcClient.java 14 May 2004 15:22:53 -0000 1.7 +++ SimpleXmlRpcClient.java 14 May 2004 15:47:05 -0000 1.8 @@ -691,6 +691,10 @@ /** * A quick and dirty XML writer. * TODO: Replace with core package's XmlWriter class. + * + * @see <a + * href="http://nagoya.apache.org/bugzilla/show_bug.cgi?id=28982">Bugzilla + * bug 28982</a> */ class XmlWriter { @@ -773,7 +777,13 @@ */ public void write(byte[] text) { - buf.append(text); + // ### This may cause encoding complications for + // ### multi-byte characters. This should be properly + // ### fixed by implementing Bugzilla issue 28982. + for (int i = 0; i < text.length; i++) + { + buf.append((char) text[i]); + } } /**