diff --git a/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java b/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java index 30c21d19bf269592b3e522066f2b0652e615b060..10119d844e5bac72ecc918740a68e52bac31a35e 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/ConfigIterator.java @@ -32,6 +32,8 @@ import java.util.Locale; import java.util.Map; import java.util.NoSuchElementException; +import net.i2p.data.DataHelper; + /** * A class to iterate through a hosts.txt or config file without * reading the whole thing into memory. @@ -69,7 +71,7 @@ class ConfigIterator implements Iterator<Map.Entry<String, String>>, Closeable { String inputLine = input.readLine(); while (inputLine != null) { inputLine = ConfigParser.stripComments(inputLine); - String[] splitLine = inputLine.split("="); + String[] splitLine = DataHelper.split(inputLine, "="); if (splitLine.length == 2) { next = new ConfigEntry(splitLine[0].trim().toLowerCase(Locale.US), splitLine[1].trim()); return true; diff --git a/apps/addressbook/java/src/net/i2p/addressbook/ConfigParser.java b/apps/addressbook/java/src/net/i2p/addressbook/ConfigParser.java index e2cd8ab2a0abaaff9575170ec41d149465303362..625b6e3d042e958a5219418c06a63610abe82ed2 100644 --- a/apps/addressbook/java/src/net/i2p/addressbook/ConfigParser.java +++ b/apps/addressbook/java/src/net/i2p/addressbook/ConfigParser.java @@ -35,6 +35,7 @@ import java.util.List; import java.util.Locale; import java.util.Map; +import net.i2p.data.DataHelper; import net.i2p.util.SecureFile; import net.i2p.util.SecureFileOutputStream; import net.i2p.util.SystemVersion; @@ -93,7 +94,7 @@ class ConfigParser { inputLine = input.readLine(); while (inputLine != null) { inputLine = stripComments(inputLine); - String[] splitLine = inputLine.split("="); + String[] splitLine = DataHelper.split(inputLine, "="); if (splitLine.length == 2) { result.put(splitLine[0].trim().toLowerCase(Locale.US), splitLine[1].trim()); } diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index 688cf7e95cb548cabfb3c621ae21a5a4305bf09c..5f5bb94d9d961565f38db18c7746075e38fb7662 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -189,7 +189,7 @@ public class SnarkManager implements CompleteListener { for (int i = 1; i < DEFAULT_TRACKERS.length; i += 2) { if (DEFAULT_TRACKERS[i-1].equals("TheBland") && !SigType.ECDSA_SHA256_P256.isAvailable()) continue; - String urls[] = DEFAULT_TRACKERS[i].split("=", 2); + String urls[] = DataHelper.split(DEFAULT_TRACKERS[i], "=", 2); ann.add(urls[0]); } DEFAULT_TRACKER_ANNOUNCES = Collections.unmodifiableSet(ann); @@ -1078,7 +1078,7 @@ public class SnarkManager implements CompleteListener { val = dflt; if (val == null) return Collections.emptyList(); - return Arrays.asList(val.split(",")); + return Arrays.asList(DataHelper.split(val, ",")); } /** @@ -1611,7 +1611,7 @@ public class SnarkManager implements CompleteListener { return; int filecount = metainfo.getFiles().size(); int[] rv = new int[filecount]; - String[] arr = pri.split(","); + String[] arr = DataHelper.split(pri, ","); for (int i = 0; i < filecount && i < arr.length; i++) { if (arr[i].length() > 0) { try { @@ -2342,12 +2342,12 @@ public class SnarkManager implements CompleteListener { if ( (trackers == null) || (trackers.trim().length() <= 0) ) { setDefaultTrackerMap(true); } else { - String[] toks = trackers.split(","); + String[] toks = DataHelper.split(trackers, ","); for (int i = 0; i < toks.length; i += 2) { String name = toks[i].trim().replace(",", ","); String url = toks[i+1].trim().replace(",", ","); if ( (name.length() > 0) && (url.length() > 0) ) { - String urls[] = url.split("=", 2); + String urls[] = DataHelper.split(url, "=", 2); String url2 = urls.length > 1 ? urls[1] : ""; _trackerMap.put(name, new Tracker(name, urls[0], url2)); } @@ -2367,7 +2367,7 @@ public class SnarkManager implements CompleteListener { String name = DEFAULT_TRACKERS[i]; if (name.equals("TheBland") && !SigType.ECDSA_SHA256_P256.isAvailable()) continue; - String urls[] = DEFAULT_TRACKERS[i+1].split("=", 2); + String urls[] = DataHelper.split(DEFAULT_TRACKERS[i+1], "=", 2); String url2 = urls.length > 1 ? urls[1] : null; _trackerMap.put(name, new Tracker(name, urls[0], url2)); } diff --git a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java index ab1116722b6c7319712d7c2514cf4c673c4bde79..11efe94f6eb42c72d637422ee69913d7df93dcab 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java +++ b/apps/i2psnark/java/src/org/klomp/snark/TrackerClient.java @@ -912,7 +912,7 @@ public class TrackerClient implements Runnable { if (path == null || path.length() < 517 || !path.startsWith("/")) return null; - String[] parts = path.substring(1).split("[/\\?&;]", 2); + String[] parts = DataHelper.split(path.substring(1), "[/\\?&;]", 2); return ConvertToHash.getHash(parts[0]); } return null; diff --git a/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java b/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java index c6fce8f14461259a6b52739af3574e09cf9db27a..cd2f73da30b253083fc565f6077f7d518c8426ae 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java +++ b/apps/i2psnark/java/src/org/klomp/snark/dht/NodeInfo.java @@ -102,7 +102,7 @@ class NodeInfo extends SimpleDataStructure { */ public NodeInfo(String s) throws DataFormatException { super(); - String[] parts = s.split(":", 4); + String[] parts = DataHelper.split(s, ":", 4); if (parts.length != 4) throw new DataFormatException("Bad format"); byte[] nid = Base64.decode(parts[0]); diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java index 4183ce39917fe0906137b3d3a64e851f950a59c5..19ebd8b7c5d5bcec90b2c386d61dc5f8f98a48b9 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClient.java @@ -414,7 +414,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn _log.debug(getPrefix(requestId) + "First line [" + line + "]"); } - String[] params = line.split(" ", 3); + String[] params = DataHelper.split(line, " ", 3); if(params.length != 3) { break; } @@ -1252,7 +1252,7 @@ public class I2PTunnelHTTPClient extends I2PTunnelHTTPClientBase implements Runn String s = getTunnel().getClientOptions().getProperty(PROP_SSL_OUTPROXIES); if (s == null) return null; - String[] p = s.split("[,; \r\n\t]"); + String[] p = DataHelper.split(s, "[,; \r\n\t]"); if (p.length == 0) return null; // todo doesn't check for "" diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java index 5e39cf3b8388df891824c91ed1d03c1ddaf4c4cd..e68e38d6b8504b431a66917775e312fe6cbd901e 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPClientBase.java @@ -285,7 +285,7 @@ public abstract class I2PTunnelHTTPClientBase extends I2PTunnelClientBase implem // We send Accept-Charset: UTF-8 in the 407 so hopefully it comes back that way inside the B64 ? try { String dec = new String(decoded, "UTF-8"); - String[] parts = dec.split(":"); + String[] parts = DataHelper.split(dec, ":"); String user = parts[0]; String pw = parts[1]; // first try pw for that user diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java index 35dd6f1326d5332200bd6933d25eb56d32b36e1a..dc2c7fa9a46724205b484943d94bfcd0b4369899 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelHTTPServer.java @@ -664,7 +664,7 @@ public class I2PTunnelHTTPServer extends I2PTunnelServer { */ @Override protected String filterResponseLine(String line) { - String[] s = line.split(" ", 3); + String[] s = DataHelper.split(line, " ", 3); if (s.length > 1 && (s[1].startsWith("3") || s[1].startsWith("5"))) _dataExpected = 0; diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java index 2288c27ec2be9efb4d4e9c89d391d181729d3263..79d974e9061adafa84ea6a6c765dff56cb669f43 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelIRCServer.java @@ -13,6 +13,7 @@ import java.util.Properties; import net.i2p.client.streaming.I2PSocket; import net.i2p.crypto.SHA256Generator; +import net.i2p.data.DataHelper; import net.i2p.data.Destination; import net.i2p.data.Hash; import net.i2p.data.Base32; @@ -277,7 +278,7 @@ public class I2PTunnelIRCServer extends I2PTunnelServer implements Runnable { //if (_log.shouldLog(Log.DEBUG)) // _log.debug("Got line: " + s); - String field[]=s.split(" ",5); + String field[] = DataHelper.split(s, " ", 5); String command; int idx=0; diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java index dd59042d8f1a1db3bd8e7dfa12b9a71fb20a14ae..da615301e32a776fe0eb4e06576c3586196825fa 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2Ping.java @@ -19,6 +19,7 @@ import net.i2p.I2PException; import net.i2p.client.I2PSession; import net.i2p.client.I2PSessionException; import net.i2p.client.streaming.I2PSocketManager; +import net.i2p.data.DataHelper; import net.i2p.data.Destination; import net.i2p.util.EventDispatcher; import net.i2p.util.I2PAppThread; @@ -93,7 +94,7 @@ public class I2Ping extends I2PTunnelClientBase { int localPort = 0; int remotePort = 0; boolean error = false; - String[] argv = cmd.split(" "); + String[] argv = DataHelper.split(cmd, " "); Getopt g = new Getopt("ping", argv, "t:m:n:chl:f:p:"); int c; while ((c = g.getopt()) != -1) { diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/irc/IRCFilter.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/irc/IRCFilter.java index 3112c9ddaaafc01ec4f9f40b31d101c7bab65214..eef558837e14fca5248a52121420600e8b0a08b6 100644 --- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/irc/IRCFilter.java +++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/irc/IRCFilter.java @@ -33,7 +33,7 @@ abstract class IRCFilter { */ public static String inboundFilter(String s, StringBuffer expectedPong, DCCHelper helper) { - String field[]=s.split(" ",4); + String field[] = DataHelper.split(s, " ", 4); String command; int idx=0; final String[] allowedCommands = @@ -274,7 +274,7 @@ abstract class IRCFilter { */ public static String outboundFilter(String s, StringBuffer expectedPong, DCCHelper helper) { - String field[]=s.split(" ",3); + String field[] = DataHelper.split(s, " ",3); if(field[0].length()==0) return null; // W T F? @@ -420,7 +420,7 @@ abstract class IRCFilter { int ctcp = msg.indexOf(0x01); if (ctcp > 0) msg = msg.substring(0, ctcp); - String[] args = msg.split(" ", 5); + String[] args = DataHelper.split(msg, " ", 5); if (args.length <= 0) return null; String type = args[0]; @@ -512,7 +512,7 @@ abstract class IRCFilter { int ctcp = msg.indexOf(0x01); if (ctcp > 0) msg = msg.substring(0, ctcp); - String[] args = msg.split(" ", 5); + String[] args = DataHelper.split(msg, " ", 5); if (args.length <= 0) return null; String type = args[0]; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java index c3abb58f540f80a7bc8b3b198821b9f30f4cd149..fbb94ddefcec1ae9ed0503e7e62ca95b02339601 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigNetHelper.java @@ -207,7 +207,7 @@ public class ConfigNetHelper extends HelperBase { configs = Collections.emptySet(); } else { configs = new HashSet<String>(4); - String[] ca = cs.split("[,; \r\n\t]"); + String[] ca = DataHelper.split(cs, "[,; \r\n\t]"); for (int i = 0; i < ca.length; i++) { String c = ca[i]; if (c.length() > 0) { diff --git a/apps/routerconsole/java/src/net/i2p/router/web/ConfigSummaryHandler.java b/apps/routerconsole/java/src/net/i2p/router/web/ConfigSummaryHandler.java index 7747d22b2eb118551063d7e8b6a482d7e893bb81..1f75c3c82c64f8c6a6ecc1d7223568ce7a44486e 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/ConfigSummaryHandler.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/ConfigSummaryHandler.java @@ -108,7 +108,7 @@ public class ConfigSummaryHandler extends FormHandler { } } } else if (moving) { - String parts[] = _action.split("_"); + String parts[] = DataHelper.split(_action, "_"); try { int from = Integer.parseInt(parts[1]); int to = 0; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java index f42e1cd6e25d1a6fa7a7e9210e2b12143ff85813..ca738304e7e6ad487191584426b99e0af7ffeb6d 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/EventLogHelper.java @@ -202,7 +202,7 @@ public class EventLogHelper extends FormHandler { buf.append(fmt.format(new Date(time))); buf.append("</td><td>"); if (isAll) { - String[] s = event.split(" ", 2); + String[] s = DataHelper.split(event, " ", 2); String xs = _xevents.get(s[0]); if (xs == null) xs = s[0]; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java index b6afcf5cabd8926a059d2a275ef34b334add0a3c..f937acb27482751fe34f76eac2c4ef7f5b54eafa 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/HomeHelper.java @@ -135,8 +135,10 @@ public class HomeHelper extends HelperBase { return renderConfig(apps); } + private static final String SS = Character.toString(S); + static Collection<App> buildApps(RouterContext ctx, String config) { - String[] args = config.split("" + S); + String[] args = DataHelper.split(config, SS); Set<App> apps = new TreeSet<App>(new AppComparator()); for (int i = 0; i < args.length - 3; i += 4) { String name = Messages.getString(args[i], ctx); @@ -149,7 +151,7 @@ public class HomeHelper extends HelperBase { } static Collection<App> buildSearchApps(String config) { - String[] args = config.split("" + S); + String[] args = DataHelper.split(config, SS); Set<App> apps = new TreeSet<App>(new AppComparator()); for (int i = 0; i < args.length - 1; i += 2) { String name = args[i]; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SearchHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SearchHelper.java index e04809d6f3a338cc82e239285c8bfb02fae57045..b9e40f95968ea8816647688366ab57e07dfcf3fd 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SearchHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SearchHelper.java @@ -43,9 +43,11 @@ public class SearchHelper extends HelperBase { _query = s; } + private static final String SS = Character.toString(S); + private void buildEngineMap() { String config = _context.getProperty(PROP_ENGINES, ENGINES_DEFAULT); - String[] args = config.split("" + S); + String[] args = DataHelper.split(config, SS); for (int i = 0; i < args.length - 1; i += 2) { String name = args[i]; String url = args[i+1]; diff --git a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java index 7e97d9573947619b8a3b87920cacc930fe986b1c..75a55709fa03288818877c3f80238a50578d0039 100644 --- a/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java +++ b/apps/routerconsole/java/src/net/i2p/router/web/SummaryHelper.java @@ -861,6 +861,8 @@ public class SummaryHelper extends HelperBase { public void storeNewsHelper(NewsHelper n) { _newshelper = n; } public NewsHelper getNewsHelper() { return _newshelper; } + private static final String SS = Character.toString(S); + public List<String> getSummaryBarSections(String page) { String config = ""; if ("home".equals(page)) { @@ -870,7 +872,7 @@ public class SummaryHelper extends HelperBase { if (config == null) config = _context.getProperty(PROP_SUMMARYBAR + "default", DEFAULT_FULL); } - return Arrays.asList(config.split("" + S)); + return Arrays.asList(DataHelper.split(config, SS)); } static void saveSummaryBarSections(RouterContext ctx, String page, Map<Integer, String> sections) { diff --git a/apps/susimail/src/src/i2p/susi/webmail/Mail.java b/apps/susimail/src/src/i2p/susi/webmail/Mail.java index 8632ac9c419a5e4bb86d86cd6241599d4ce4461e..88eb0ecddb3475fab3405a024d75b770181232d1 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/Mail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/Mail.java @@ -42,6 +42,7 @@ import java.util.Locale; import java.util.TimeZone; import net.i2p.I2PAppContext; +import net.i2p.data.DataHelper; /** * data structure to hold a single message, mostly used with folder view and sorting @@ -190,7 +191,7 @@ class Mail { address.indexOf( "\r" ) != -1 ) return false; - String[] tokens = address.split( "[ \t]+" ); + String[] tokens = DataHelper.split(address, "[ \t]+"); int addresses = 0; @@ -208,7 +209,7 @@ class Mail { */ public static String getAddress(String address ) { - String[] tokens = address.split( "[ \t]+" ); + String[] tokens = DataHelper.split(address, "[ \t]+"); for( int i = 0; i < tokens.length; i++ ) { if( tokens[i].matches( "^[^@< \t]+@[^> \t]+$" ) ) @@ -232,7 +233,7 @@ class Mail { public static boolean getRecipientsFromList( ArrayList<String> recipients, String text, boolean ok ) { if( text != null && text.length() > 0 ) { - String[] ccs = text.split( "," ); + String[] ccs = DataHelper.split(text, ","); for( int i = 0; i < ccs.length; i++ ) { String recipient = ccs[i].trim(); if( validateAddress( recipient ) ) { diff --git a/apps/susimail/src/src/i2p/susi/webmail/MailPart.java b/apps/susimail/src/src/i2p/susi/webmail/MailPart.java index 0ec32abe9361154ab124710a85815fb291271123..ff348a502a61e565a3e41282de6c705cb5989471 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/MailPart.java +++ b/apps/susimail/src/src/i2p/susi/webmail/MailPart.java @@ -79,7 +79,7 @@ class MailPart { beginBody = bb; ReadBuffer decodedHeaders = EncodingFactory.getEncoding( "HEADERLINE" ).decode( buffer.content, begin, beginBody - begin ); - headerLines = new String( decodedHeaders.content, decodedHeaders.offset, decodedHeaders.length ).split( "\r\n" ); + headerLines = DataHelper.split(new String(decodedHeaders.content, decodedHeaders.offset, decodedHeaders.length), "\r\n"); String boundary = null; String x_encoding = null; diff --git a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java index 9ff4b933b74cff3016131aba49029f1d7e97568d..e70ee3063044c9eec69b83bcc7603ba124ee600b 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/WebMail.java +++ b/apps/susimail/src/src/i2p/susi/webmail/WebMail.java @@ -996,7 +996,7 @@ public class WebMail extends HttpServlet PrintWriter pw2 = new PrintWriter( text2 ); showPart( pw2, part, 0, TEXT_ONLY ); pw2.flush(); - String[] lines = text2.toString().split( "\r\n" ); + String[] lines = DataHelper.split(text2.toString(), "\r\n"); for( int i = 0; i < lines.length; i++ ) pw.println( "> " + lines[i] ); pw.flush(); diff --git a/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java b/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java index 046dcbef5288142efd9618931de465fc312861cf..eb58c8ed5065d6f442172970132ca1a50f3f3315 100644 --- a/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java +++ b/apps/susimail/src/src/i2p/susi/webmail/smtp/SMTPClient.java @@ -282,7 +282,7 @@ public class SMTPClient { error += e.getMessage(); } if( !mailSent && lastResponse.length() > 0 ) { - String[] lines = lastResponse.split( "\r" ); + String[] lines = DataHelper.split(lastResponse, "\r"); for( int i = 0; i < lines.length; i++ ) error += lines[i] + '\n'; } diff --git a/core/java/src/net/i2p/util/EepGet.java b/core/java/src/net/i2p/util/EepGet.java index 88cae89fea821082244584165adcbaefb8918249..386ec0308fc0b5120cf254d34e301ffbfc46cf50 100644 --- a/core/java/src/net/i2p/util/EepGet.java +++ b/core/java/src/net/i2p/util/EepGet.java @@ -1131,7 +1131,7 @@ public class EepGet { private int handleStatus(String line) { if (_log.shouldLog(Log.DEBUG)) _log.debug("Status line: [" + line.trim() + "]"); - String[] toks = line.split(" ", 3); + String[] toks = DataHelper.split(line, " ", 3); if (toks.length < 2) { if (_log.shouldLog(Log.WARN)) _log.warn("ERR: status "+ line); diff --git a/core/java/src/net/i2p/util/I2PSSLSocketFactory.java b/core/java/src/net/i2p/util/I2PSSLSocketFactory.java index 774415f4dfb71d52d5b2c48c6fc2d7c063025bcd..1b8342808a616cd66a4c50e8a8b6231385198a70 100644 --- a/core/java/src/net/i2p/util/I2PSSLSocketFactory.java +++ b/core/java/src/net/i2p/util/I2PSSLSocketFactory.java @@ -83,6 +83,7 @@ import javax.net.ssl.TrustManagerFactory; import net.i2p.I2PAppContext; import net.i2p.crypto.KeyStoreUtil; +import net.i2p.data.DataHelper; import org.apache.http.conn.ssl.DefaultHostnameVerifier; import org.apache.http.conn.util.PublicSuffixList; @@ -443,7 +444,7 @@ public class I2PSSLSocketFactory { try { if (line.charAt(0) == '#') continue; - String[] s = line.split(","); + String[] s = DataHelper.split(line, ","); String lc = s[0].toLowerCase(Locale.US); tlds.add(lc); i++; diff --git a/core/java/src/net/i2p/util/NativeBigInteger.java b/core/java/src/net/i2p/util/NativeBigInteger.java index afb380cf921bc234733a570f878990c05dcde365..96129b5ac37599fe24f49c95eabc6e4a774e68cb 100644 --- a/core/java/src/net/i2p/util/NativeBigInteger.java +++ b/core/java/src/net/i2p/util/NativeBigInteger.java @@ -35,6 +35,7 @@ import freenet.support.CPUInformation.UnknownCPUException; import net.i2p.I2PAppContext; import net.i2p.crypto.CryptoConstants; +import net.i2p.data.DataHelper; /** * <p>BigInteger that takes advantage of the jbigi library for the modPow operation, @@ -734,7 +735,7 @@ public class NativeBigInteger extends BigInteger { in = new BufferedReader(new InputStreamReader(new FileInputStream("/proc/cpuinfo"), "ISO-8859-1"), 4096); String line = null; while ( (line = in.readLine()) != null) { - String[] parts = line.split(":", 2); + String[] parts = DataHelper.split(line, ":", 2); if (parts.length < 2) continue; String key = parts[0].trim().toLowerCase(Locale.US); diff --git a/router/java/src/net/i2p/router/startup/WorkingDir.java b/router/java/src/net/i2p/router/startup/WorkingDir.java index 8e3a19c93fdfe3a3d984687326a7f97b9c63df82..a7ca9f3303045343be4e4c5c4db3fd0f9406c61a 100644 --- a/router/java/src/net/i2p/router/startup/WorkingDir.java +++ b/router/java/src/net/i2p/router/startup/WorkingDir.java @@ -211,7 +211,7 @@ public class WorkingDir { String[] files = dir.list(); if (files == null) return false; - String migrated[] = MIGRATE_BASE.split(","); + String migrated[] = DataHelper.split(MIGRATE_BASE, ","); for (String file: files) { for (int i = 0; i < migrated.length; i++) { if (file.equals(migrated[i])) @@ -282,7 +282,7 @@ public class WorkingDir { private static boolean migrate(String list, File olddir, File todir) { boolean rv = true; - String files[] = list.split(","); + String files[] = DataHelper.split(list, ","); for (int i = 0; i < files.length; i++) { File from = new File(olddir, files[i]); if (!copy(from, todir)) { diff --git a/router/java/src/net/i2p/router/time/Zones.java b/router/java/src/net/i2p/router/time/Zones.java index 85d5e388e4569da46e7b43265a1b1cd71c2ede0e..d04c67408ee7f191e7781faccf255f0a48b7fbc1 100644 --- a/router/java/src/net/i2p/router/time/Zones.java +++ b/router/java/src/net/i2p/router/time/Zones.java @@ -10,6 +10,7 @@ import java.util.Locale; import java.util.Map; import net.i2p.I2PAppContext; +import net.i2p.data.DataHelper; import net.i2p.router.transport.GeoIP; /** @@ -105,7 +106,7 @@ class Zones { try { if (line.charAt(0) == '#') continue; - String[] s = line.split(","); + String[] s = DataHelper.split(line, ","); String ucContinent = s[1].toUpperCase(Locale.US).trim(); String zone = _continentToZone.get(ucContinent); if (zone == null) diff --git a/router/java/src/net/i2p/router/transport/GeoIP.java b/router/java/src/net/i2p/router/transport/GeoIP.java index 3213be64ee12d86ef19e1b3a249f5a1163e4e5aa..6a204016428903afc4a4a8089e7f856a101a0cdc 100644 --- a/router/java/src/net/i2p/router/transport/GeoIP.java +++ b/router/java/src/net/i2p/router/transport/GeoIP.java @@ -17,6 +17,7 @@ import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.atomic.AtomicBoolean; import net.i2p.I2PAppContext; +import net.i2p.data.DataHelper; import net.i2p.data.Hash; import net.i2p.router.Router; import net.i2p.router.RouterContext; @@ -209,7 +210,7 @@ public class GeoIP { if (line.charAt(0) == '#') { continue; } - String[] s = line.split(","); + String[] s = DataHelper.split(line, ","); String lc = s[0].toLowerCase(Locale.US); _codeToName.put(lc, s[1]); _codeCache.put(lc, lc); @@ -274,7 +275,7 @@ public class GeoIP { if (buf.charAt(0) == '#') { continue; } - String[] s = buf.split(","); + String[] s = DataHelper.split(buf, ","); long ip1 = Long.parseLong(s[0]); long ip2 = Long.parseLong(s[1]); while (idx < search.length && search[idx].longValue() < ip1) { diff --git a/router/java/src/net/i2p/router/transport/GeoIPv6.java b/router/java/src/net/i2p/router/transport/GeoIPv6.java index b93e3f004f9536c471811a90cd553ea353c51c9d..af3120480a46607c77feddc03b36c2b3d72a3232 100644 --- a/router/java/src/net/i2p/router/transport/GeoIPv6.java +++ b/router/java/src/net/i2p/router/transport/GeoIPv6.java @@ -170,7 +170,7 @@ class GeoIPv6 { if (buf.charAt(0) == '#') { continue; } - String[] s = buf.split(","); + String[] s = DataHelper.split(buf, ","); String ips1 = s[0].replace("\"", "").trim(); String ips2 = s[1].replace("\"", "").trim(); byte[] ip1 = InetAddress.getByName(ips1).getAddress(); diff --git a/router/java/src/net/i2p/router/transport/UPnP.java b/router/java/src/net/i2p/router/transport/UPnP.java index 26c7610b5f41c26e4062de8a2e9c83ff205aa95a..b94d8cec0e687d282dc29c9aa85c410579ceb8c7 100644 --- a/router/java/src/net/i2p/router/transport/UPnP.java +++ b/router/java/src/net/i2p/router/transport/UPnP.java @@ -224,7 +224,7 @@ class UPnP extends ControlPoint implements DeviceChangeListener, EventListener { boolean ignore = false; String toIgnore = _context.getProperty(PROP_IGNORE); if (toIgnore != null) { - String[] ignores = toIgnore.split("[,; \r\n\t]"); + String[] ignores = DataHelper.split(toIgnore, "[,; \r\n\t]"); for (int i = 0; i < ignores.length; i++) { if (ignores[i].equals(udn)) { ignore = true; diff --git a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java index edcfef26bbe711f38dfa8597517815899143489c..b68626ab50c32e5c635ac3a4ba84c1203c98751e 100644 --- a/router/java/src/net/i2p/router/transport/udp/UDPTransport.java +++ b/router/java/src/net/i2p/router/transport/udp/UDPTransport.java @@ -340,7 +340,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority List<InetAddress> bindToAddrs = new ArrayList<InetAddress>(4); if (bindTo != null) { - String[] bta = bindTo.split("[,; \r\n\t]"); + String[] bta = DataHelper.split(bindTo, "[,; \r\n\t]"); for (int i = 0; i < bta.length; i++) { String bt = bta[i]; if (bt.length() <= 0) @@ -1896,7 +1896,7 @@ public class UDPTransport extends TransportImpl implements TimedWeightedPriority if (explicitAddressSpecified()) { host = _context.getProperty(PROP_EXTERNAL_HOST); if (host != null) { - String[] hosts = host.split("[,; \r\n\t]"); + String[] hosts = DataHelper.split(host, "[,; \r\n\t]"); RouterAddress rv = null; for (int i = 0; i < hosts.length; i++) { String h = hosts[i]; diff --git a/router/java/src/net/i2p/router/util/EventLog.java b/router/java/src/net/i2p/router/util/EventLog.java index 1cad4b9b4700d7ff866ff2b1e5196d675f4e1c01..14f829dbef2a98568383eb14ec9827c90470f1a0 100644 --- a/router/java/src/net/i2p/router/util/EventLog.java +++ b/router/java/src/net/i2p/router/util/EventLog.java @@ -13,6 +13,7 @@ import java.util.SortedMap; import java.util.TreeMap; import net.i2p.I2PAppContext; +import net.i2p.data.DataHelper; import net.i2p.util.SecureFileOutputStream; /** @@ -125,7 +126,7 @@ public class EventLog { String line = null; while ( (line = br.readLine()) != null) { try { - String[] s = line.split(" ", 3); + String[] s = DataHelper.split(line, " ", 3); if (!s[1].equals(event)) continue; long time = Long.parseLong(s[0]); @@ -167,7 +168,7 @@ public class EventLog { String line = null; while ( (line = br.readLine()) != null) { try { - String[] s = line.split(" ", 2); + String[] s = DataHelper.split(line, " ", 2); if (s.length < 2) continue; long time = Long.parseLong(s[0]);