From 7be3a6108f873840ce5cc38f04459481068daca0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net>
Date: Tue, 5 May 1998 18:04:36 -0700
Subject: [PATCH] %{%} now works better

Rev: src/modules/sprintf/sprintf.c:1.19
Rev: src/modules/sprintf/testsuite.in:1.10
---
 src/modules/sprintf/sprintf.c    |  5 +++--
 src/modules/sprintf/testsuite.in | 11 ++++++-----
 2 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/src/modules/sprintf/sprintf.c b/src/modules/sprintf/sprintf.c
index 76dce1e26d..d0f4b00d89 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.18 1998/04/28 07:50:03 hubbe Exp $");
+RCSID("$Id: sprintf.c,v 1.19 1998/05/06 01:04:36 hubbe Exp $");
 #include "error.h"
 #include "array.h"
 #include "svalue.h"
@@ -643,7 +643,8 @@ static string low_pike_sprintf(char *format,
 	    s=sp;
 	    if(q)
 	    {
-	      ref_push_array(q->array);
+	      q->array->refs++;
+	      push_array_items(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 3e33ffa8fe..5239a21296 100644
--- a/src/modules/sprintf/testsuite.in
+++ b/src/modules/sprintf/testsuite.in
@@ -56,11 +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"})}))]])
+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_eq([[sprintf("%{%d %d %d\n%}",({ ({1,2,3}), ({4,5,6}) }) )]],"1 2 3\n4 5 6\n")
 
 dnl . : and ; hasn't been tested
 dnl ^, @ and _ hasn't been tested yet
-- 
GitLab