From 041a538a78e3a81d4d1953683d7f2e6aa178ab3f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?=
 <grubba@grubba.org>
Date: Thu, 8 Mar 2012 16:33:42 +0100
Subject: [PATCH] Added count_memory_in_short_pike_strings().

---
 src/stralloc.c | 12 ++++++++++++
 src/stralloc.h |  1 +
 2 files changed, 13 insertions(+)

diff --git a/src/stralloc.c b/src/stralloc.c
index 8eb0fae627..4822e91663 100644
--- a/src/stralloc.c
+++ b/src/stralloc.c
@@ -2170,6 +2170,18 @@ static INLINE size_t memory_in_string (struct pike_string *s)
     return sizeof (struct pike_string_hdr) + ((s->len + 1) << s->size_shift);
 }
 
+void count_memory_in_short_pike_strings(size_t *num, size_t *size)
+{
+  size_t num_=0, size_=0;
+  count_memory_in_short_pike_string0s(num, size);
+  count_memory_in_short_pike_string1s(&num_, &size_);
+  *num += num_;
+  *size += size_;
+  count_memory_in_short_pike_string2s(&num_, &size_);
+  *num += num_;
+  *size += size_;
+}
+
 void count_memory_in_strings(size_t *num, size_t *size)
 {
   unsigned INT32 e;
diff --git a/src/stralloc.h b/src/stralloc.h
index 35a996bddf..76056abea0 100644
--- a/src/stralloc.h
+++ b/src/stralloc.h
@@ -337,6 +337,7 @@ PMOD_EXPORT struct pike_string *string_replace(struct pike_string *str,
 				   struct pike_string *to);
 void init_shared_string_table(void);
 void cleanup_shared_string_table(void);
+void count_memory_in_short_pike_strings(size_t *num, size_t *size);
 void count_memory_in_strings(size_t *num, size_t *size);
 PMOD_EXPORT void visit_string (struct pike_string *s, int action);
 void gc_mark_string_as_referenced (struct pike_string *s);
-- 
GitLab