From f8c9ca8c8c9e3de9dad16c6bad1b4a7151ffd2b9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Mon, 1 Jun 1998 22:15:09 +0200
Subject: [PATCH] Added macro MAKE_CONSTANT_SHARED_STRING(), which
 push_contant_text() expects.

Rev: src/stralloc.h:1.11
---
 src/stralloc.h | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/stralloc.h b/src/stralloc.h
index b7faffdde6..c27e3a3372 100644
--- a/src/stralloc.h
+++ b/src/stralloc.h
@@ -36,6 +36,7 @@ struct pike_string *debug_findstring(const struct pike_string *foo);
 #define reference_shared_string(s) do { struct pike_string *S_=(s); debug_malloc_touch(S_); S_->refs++; }while(0)
 #define copy_shared_string(to,s) do { struct pike_string *S_=(to)=(s); debug_malloc_touch(S_); S_->refs++; }while(0)
 
+
 #else
 
 #define reference_shared_string(s) (s)->refs++
@@ -44,6 +45,11 @@ struct pike_string *debug_findstring(const struct pike_string *foo);
 
 #endif
 
+#define MAKE_CONSTANT_SHARED_STRING(var, text)  \
+ do { static struct pike_string *str_;          \
+    if(!str_) str_=make_shared_string((text));  \
+    copy_shared_string((var), str_);            \
+ }while(0)
 
 /* Prototypes begin here */
 struct pike_string *binary_findstring(const char *foo, INT32 l);
-- 
GitLab