Bob~

On 5/3/05, Bob Rogers <[EMAIL PROTECTED]> wrote:
>    . . . but I can't figure out why.  I thought the patch below would
> help, but it appears that the value of c is itself broken somehow.
> 
>     . . .
>     This GDB was configured as "i586-suse-linux"...
>     (gdb) r runtime/parrot/library/config.pbc
>     Starting program: /usr/src/parrot/disassemble 
> runtime/parrot/library/config.pbc
>     [New Thread 16384 (LWP 24464)]
>     [New Thread 32769 (LWP 24466)]
>     [New Thread 16386 (LWP 24467)]
>     [New Thread 32771 (LWP 24468)]
> 
>     Program received signal SIGSEGV, Segmentation fault.
>     [Switching to Thread 16384 (LWP 24464)]
>     0x08083966 in Parrot_disassemble (interpreter=0x8253d00) at 
> src/embed.c:880
>     (gdb) bt
>     #0  0x08083966 in Parrot_disassemble (interpreter=0x8253d00) at 
> src/embed.c:880
>     #1  0x08082871 in do_dis (interpreter=0x8253d00) at src/disassemble.c:99
>     #2  0x0808283f in main (argc=2, argv=0xbffff554) at src/disassemble.c:79
>     (gdb)
> 
> I find disassemble useful, but it seems subject to periodic bit rot.
> So, I think I would like to write some basic tests for it.  Is it worth
> extending Parrot::Test to include disassemble_output_is, etc., or should
> I do something more special-purpose?
> 
>                                         -- Bob Rogers
>                                            http://rgrjr.dyndns.org/
> 
> ------------------------------------------------------------------------
> Index: embed.c
> ===================================================================
> --- embed.c     (revision 7955)
> +++ embed.c     (working copy)
> @@ -877,7 +877,7 @@
>          if (line->label)
>              PIO_printf(interpreter, "L%li:\t", line->label->number);
>          c = pdb->file->source + line->source_offset;
> -        while (*c != '\n' && c)
> +        while (*c && *c != '\n')
>              PIO_printf(interpreter, "%c", *(c++));
>          PIO_printf(interpreter, "\n");
>          line = line->next;
> 

Not knowing any of the surrounding code, shouldn't that be

        while (c && *c != '\n')



Matt
-- 
"Computer Science is merely the post-Turing Decline of Formal Systems Theory."
-???

Reply via email to