From 00be617ce145eee6f9aa7c08eb23ac7bde0da04c Mon Sep 17 00:00:00 2001 From: Kano Date: Fri, 15 Feb 2013 01:36:50 +1100 Subject: [PATCH] API.java allow partial reads --- API.class | Bin 3635 -> 3431 bytes API.java | 13 +++++++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/API.class b/API.class index 026ab141c692de8f3bae7b867d29c2214bbd9d04..d506b93dc8265210b46db47f80ba3fd27f3365a2 100644 GIT binary patch delta 1719 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 diff --git a/API.java b/API.java index 36c1578a..54dcda99 100644 --- a/API.java +++ b/API.java @@ -76,6 +76,7 @@ class API public void process(String cmd, InetAddress ip, int port) throws Exception { + StringBuffer sb = new StringBuffer(); char buf[] = new char[MAXRECEIVESIZE]; int len = 0; @@ -89,7 +90,15 @@ System.out.println("Attempting to send '"+cmd+"' to "+ip.getHostAddress()+":"+po ps.flush(); InputStreamReader isr = new InputStreamReader(socket.getInputStream()); - len = isr.read(buf, 0, MAXRECEIVESIZE); + while (0x80085 > 0) + { + len = isr.read(buf, 0, MAXRECEIVESIZE); + if (len < 1) + break; + sb.append(buf, 0, len); + if (buf[len-1] == '\0') + break; + } closeAll(); } @@ -100,7 +109,7 @@ System.out.println("Attempting to send '"+cmd+"' to "+ip.getHostAddress()+":"+po return; } - String result = new String(buf, 0, len); + String result = sb.toString(); System.out.println("Answer='"+result+"'");