From defbfbb48bc17e05d0ba1b22bef73dc65e98540c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Thu, 9 Apr 1998 16:11:53 -0700
Subject: [PATCH] bugfix

Rev: src/modules/sprintf/sprintf.c:1.16
Rev: src/modules/sprintf/testsuite.in:1.9
---
 src/modules/sprintf/sprintf.c    | 4 ++--
 src/modules/sprintf/testsuite.in | 6 ++++++
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/modules/sprintf/sprintf.c b/src/modules/sprintf/sprintf.c
index dc882dedda..28eff0991d 100644
--- a/src/modules/sprintf/sprintf.c
+++ b/src/modules/sprintf/sprintf.c
@@ -96,7 +96,7 @@
 */
 
 #include "global.h"
-RCSID("$Id: sprintf.c,v 1.15 1998/02/20 01:09:36 hubbe Exp $");
+RCSID("$Id: sprintf.c,v 1.16 1998/04/09 23:11:53 hubbe Exp $");
 #include "error.h"
 #include "array.h"
 #include "svalue.h"
@@ -642,7 +642,7 @@ static string low_pike_sprintf(char *format,
 	    s=sp;
 	    if(q)
 	    {
-	      push_array(q->array);
+	      ref_push_array(q->array);
 	    }else{
 	      array_index_no_free(sp,w,tmp);
 	      sp++;
diff --git a/src/modules/sprintf/testsuite.in b/src/modules/sprintf/testsuite.in
index fc6f12afe5..3e33ffa8fe 100644
--- a/src/modules/sprintf/testsuite.in
+++ b/src/modules/sprintf/testsuite.in
@@ -56,6 +56,12 @@ test_eq(sprintf("test \0"),"test \0")
 test_eq(sprintf("%~*n","f",5),"fffff")
 test_eq(sprintf("%'\000'*n",5),"\000\000\000\000\000")
 
+test_true([[sprintf("%{%{%s%}\n%}",({({"hej"}),({"hop"})}))]])
+test_true([[sprintf("%{%{%s%}\n%}",({({"hej"}),({"hop"})}))]])
+test_true([[sprintf("%{%{%s%}\n%}",({({"hej"}),({"hop"})}))]])
+test_true([[sprintf("%{%{%s%}\n%}",({({"hej"}),({"hop"})}))]])
+test_true([[sprintf("%{%{%s%}\n%}",({({"hej"}),({"hop"})}))]])
+
 dnl . : and ; hasn't been tested
 dnl ^, @ and _ hasn't been tested yet
 test_eval_error(sprintf("%d"))
-- 
GitLab