From 128739e6b34c97ce8e3b300d0d4f9359bf922e27 Mon Sep 17 00:00:00 2001
From: Arne Goedeke <el@laramies.com>
Date: Mon, 3 Nov 2014 15:18:52 +0100
Subject: [PATCH] F_APPEND_MAPPING: overwrite existing entries.

The new append mapping opcode did not overwrite existing entries in the
destructive case (when the mapping had only "1" reference).
---
 src/mapping.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/mapping.c b/src/mapping.c
index 7421b4d55f..3fe2f43aab 100644
--- a/src/mapping.c
+++ b/src/mapping.c
@@ -1877,7 +1877,7 @@ void o_append_mapping( INT32 args )
       int i;
       /* fprintf( stderr, "map_refs==2\n" ); */
       for( i=0; i<args; i+=2 )
-        low_mapping_insert( m, Pike_sp-(i+2), Pike_sp-(i+1), 0 );
+        low_mapping_insert( m, Pike_sp-(i+2), Pike_sp-(i+1), 2 );
       stack_pop_n_elems_keep_top(2+args);
       return;
     }
-- 
GitLab