Matt Fowles <[EMAIL PROTECTED]> wrote: > This patch make the problem case submitted by Jeff Clites work. All > tests pass, and his sample has been added to the tests.
> struct RegisterChunkBuf* top = stack->top; > if (top->used > 1) { > + top->used--; Thanks for the patch *but*: That's changing the COWed copy. It does the right thing for the test case but is still wrong. As already stated: - COWed buffers need distinct buffer headers pointing to the same buffer memory - unCOWing (regstack_copy_chunk) allocates new buffer memory and resets the COW flag Its like string.c: make_COW_reference() and unmake_COW() This is needed for the register stacks and for stacks.c too. leo