[jetrix-cvs] SF.net SVN: jetrix:[750] jetrix/trunk/src
Brought to you by:
smanux
From: <sm...@us...> - 2008-08-28 07:41:57
|
Revision: 750 http://jetrix.svn.sourceforge.net/jetrix/?rev=750&view=rev Author: smanux Date: 2008-08-28 07:41:53 +0000 (Thu, 28 Aug 2008) Log Message: ----------- Fixed a bug in TetrinetProtocol.encode() with some IP addresses like 195.139.204.206 (tetrinet.no) Modified Paths: -------------- jetrix/trunk/src/java/net/jetrix/protocols/TetrinetProtocol.java jetrix/trunk/src/test/net/jetrix/protocols/TetrinetProtocolTest.java Modified: jetrix/trunk/src/java/net/jetrix/protocols/TetrinetProtocol.java =================================================================== --- jetrix/trunk/src/java/net/jetrix/protocols/TetrinetProtocol.java 2008-08-27 17:45:22 UTC (rev 749) +++ jetrix/trunk/src/java/net/jetrix/protocols/TetrinetProtocol.java 2008-08-28 07:41:53 UTC (rev 750) @@ -940,7 +940,7 @@ public static String encode(String nickname, String version, byte[] ip, boolean tetrifast) { // compute the pattern - int p = 54 * ip[0] + 41 * ip[1] + 29 * ip[2] + 17 * ip[3]; + int p = 54 * (ip[0] & 0xFF) + 41 * (ip[1] & 0xFF) + 29 * (ip[2] & 0xFF) + 17 * (ip[3] & 0xFF); char[] pattern = String.valueOf(p).toCharArray(); // build the string to encode Modified: jetrix/trunk/src/test/net/jetrix/protocols/TetrinetProtocolTest.java =================================================================== --- jetrix/trunk/src/test/net/jetrix/protocols/TetrinetProtocolTest.java 2008-08-27 17:45:22 UTC (rev 749) +++ jetrix/trunk/src/test/net/jetrix/protocols/TetrinetProtocolTest.java 2008-08-28 07:41:53 UTC (rev 750) @@ -279,4 +279,18 @@ assertEquals("decoded string", "tetrisstart Smanux 1.13", decode(init)); } + + public void testEncodeDecode() + { + byte[] ip = {(byte) 195, (byte) 139, (byte) 204, (byte) 206}; + + String nickname = "Smanux"; + String version = "1.13"; + + String init = encode(nickname, version, ip, false); + + assertNotNull(init); + + assertEquals("decoded", "tetrisstart Smanux 1.13", decode(init)); + } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |