altoslib: Handle link timeout in AltosDebug.read_memory
authorKeith Packard <keithp@keithp.com>
Mon, 18 Aug 2014 03:50:38 +0000 (20:50 -0700)
committerKeith Packard <keithp@keithp.com>
Mon, 18 Aug 2014 03:50:38 +0000 (20:50 -0700)
link.get_reply returns null on a link error; don't crash in
read_memory when this happens.

Signed-off-by: Keith Packard <keithp@keithp.com>
altoslib/AltosDebug.java

index 6784f60..e58fbaf 100644 (file)
@@ -52,7 +52,7 @@ public class AltosDebug {
        public static final byte GET_CHIP_ID =          0x68;
 
 
-       AltosLink       link;
+       private AltosLink       link;
 
        boolean debug_mode;
 
@@ -112,7 +112,11 @@ public class AltosDebug {
                int i = 0;
                int start = 0;
                while (i < length) {
-                       String  line = link.get_reply().trim();
+                       String  line = link.get_reply();
+                       if (line == null)
+                               throw new IOException("No reply");
+
+                       line = line.trim();
                        if (!AltosLib.ishex(line) || line.length() % 2 != 0)
                                throw new IOException(
                                        String.format
@@ -277,4 +281,4 @@ public class AltosDebug {
        public AltosDebug (AltosLink link) {
                this.link = link;
        }
-}
\ No newline at end of file
+}