From 506742bbac606bc59bda3cc50dfd7469ccd0a858 Mon Sep 17 00:00:00 2001 From: Denis Molony Date: Sat, 20 Feb 2021 19:33:53 +1000 Subject: [PATCH] keep parameters out of call target --- src/com/bytezone/diskbrowser/applefile/SubLine.java | 8 +++++--- src/com/bytezone/diskbrowser/utilities/Utility.java | 1 + 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/com/bytezone/diskbrowser/applefile/SubLine.java b/src/com/bytezone/diskbrowser/applefile/SubLine.java index a396c74..2bc0523 100644 --- a/src/com/bytezone/diskbrowser/applefile/SubLine.java +++ b/src/com/bytezone/diskbrowser/applefile/SubLine.java @@ -331,7 +331,7 @@ public class SubLine implements ApplesoftConstants break; case TOKEN_CALL: - callTarget = getExpression (); + callTarget = getCallTarget (); break; case TOKEN_DEF: @@ -398,7 +398,7 @@ public class SubLine implements ApplesoftConstants } // ---------------------------------------------------------------------------------// - private String getExpression () + private String getCallTarget () // ---------------------------------------------------------------------------------// { StringBuilder text = new StringBuilder (); @@ -410,6 +410,8 @@ public class SubLine implements ApplesoftConstants byte b = buffer[ptr++]; if (isToken (b)) text.append (tokens[b & 0x7F]); + else if (b == Utility.ASCII_COMMA) // end of call target + break; else text.append ((char) b); } @@ -576,7 +578,7 @@ public class SubLine implements ApplesoftConstants if (isFirst ()) { text.setLength (0); - text.append (String.format (" %d REM ", parent.lineNumber)); + text.append (String.format (" %d REM ", parent.lineNumber)); // mimic apple } else text.append ("REM "); diff --git a/src/com/bytezone/diskbrowser/utilities/Utility.java b/src/com/bytezone/diskbrowser/utilities/Utility.java index 7242f55..f008858 100644 --- a/src/com/bytezone/diskbrowser/utilities/Utility.java +++ b/src/com/bytezone/diskbrowser/utilities/Utility.java @@ -25,6 +25,7 @@ public class Utility public static final byte ASCII_PERCENT = 0x25; public static final byte ASCII_LEFT_BRACKET = 0x28; public static final byte ASCII_RIGHT_BRACKET = 0x29; + public static final byte ASCII_COMMA = 0x2C; public static final byte ASCII_MINUS = 0x2D; public static final byte ASCII_DOT = 0x2E; public static final byte ASCII_COLON = 0x3A;