From 23f47e26d1d02db926f597f427a2daefd66b93d4 Mon Sep 17 00:00:00 2001 From: cuz Date: Sun, 31 Jul 2005 12:25:20 +0000 Subject: [PATCH] Fixed handling of expressions in .word and .addr instructions. git-svn-id: svn://svn.cc65.org/cc65/trunk@3562 b7a2c559-68d2-44c3-8de9-860c34a00d81 --- src/ca65html/ca65html | 26 ++++++++++++-------------- 1 file changed, 12 insertions(+), 14 deletions(-) diff --git a/src/ca65html/ca65html b/src/ca65html/ca65html index 82bdf53aa..09a222ce4 100755 --- a/src/ca65html/ca65html +++ b/src/ca65html/ca65html @@ -687,23 +687,21 @@ sub Process2 { $OutLine .= $&; # Print all identifiers if there are any - while ($Line =~ /^([_a-zA-Z]\w*)(.*)$/) { - if (exists ($Labels{$OutName}{$1})) { - $Label = $Labels{$OutName}{$1}; - $OutLine .= sprintf ("%s", $Label, $1); + while ($Line =~ /^([^_a-zA-Z]*)([_a-zA-Z]\w*)(.*)$/) { + # Add the non label stuff + $OutLine .= Cleanup ($1); + + # If the identifier is a known label, add a link + if (exists ($Labels{$OutName}{$2})) { + $Label = $Labels{$OutName}{$2}; + $OutLine .= sprintf ("%s", $Label, $2); } else { - $OutLine .= $1; + $OutLine .= $2; } - $Line = $2; - if ($Line =~ s/^\s*,\s*//) { - $OutLine .= $&; - } else { - last; - } - } - # Add an remainder if there is one - $OutLine .= Cleanup ($Line); + # Proceed with the remainder of the line + $Line = $3; + } # Handle .proc } elsif ($Line =~ /^(\.proc)(\s+)([_a-zA-Z]\w*)?(.*)$/) { -- 2.39.5