On Thu, Sep 13, 2001 at 12:40:36PM -0500, Gibbs Tanton - tgibbs wrote:
> --- assemble.pl       2001/09/13 16:29:24     1.14
> +++ assemble.pl       2001/09/13 17:38:42
> @@ -31,7 +31,7 @@
>  open GUTS, "interp_guts.h";
>  my %opcodes;
>  while (<GUTS>) {
> -    next unless /\tx\[(\d+)\] = ([a-z_]+);/;
> +    next unless /\tx\[(\d+)\] = ([a-z0-9_]+);/;
>      $opcodes{$2}{CODE} = $1;
>  }
>  close GUTS;

This hunk applied.

> @@ -135,7 +135,7 @@
>  
>          foreach (0..$#args) {
>              my($rtype)=$opcodes{$opcode}{RTYPES}[$_];
> -            my($type)=$opcodes{$opcode}{TYPES}[$_];
> +            my($type)=$pack_type{$opcodes{$opcode}{TYPES}[$_]};
>              if($rtype eq "I" || $rtype eq "N" || $rtype eq "P" || $rtype eq
> "S") {
>                  # its a register argument
>                  $args[$_]=~s/^[INPS](\d+)$/$1/i;

This hunk makes things segfault. Bad, bad, bad.

Simon

Reply via email to