From c5d2bcd7cf6f63c70af9421c6b01cccf2a152589 Mon Sep 17 00:00:00 2001
From: Per Cederqvist <ceder@lysator.liu.se>
Date: Wed, 12 Jun 1991 22:46:29 +0000
Subject: [PATCH] Initial coding.

---
 src/server/string-malloc.c | 47 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)
 create mode 100644 src/server/string-malloc.c

diff --git a/src/server/string-malloc.c b/src/server/string-malloc.c
new file mode 100644
index 000000000..ec607530d
--- /dev/null
+++ b/src/server/string-malloc.c
@@ -0,0 +1,47 @@
+/*
+ * Malloc wrappers for the string package.
+ *
+ * These functions call smalloc and also counts
+ * how many allocated strings there are.
+ */
+
+#include <stdio.h>
+#include "smalloc.h"
+#include "log.h"
+#include "exp.h"
+
+static int no_of_allocated_blocks = 0;
+
+EXPORT  void *
+string-malloc(size_t size)
+{
+   ++no_of_allocated_blocks;
+   return smalloc (size);
+}
+
+
+EXPORT  void
+string-free(void * ptr)
+{
+    --no_of_allocated_blocks;
+    sfree(ptr);
+}
+
+EXPORT  void *
+string-realloc (void * ptr,
+		size_t size)
+{
+    if ( ptr == NULL )
+	return string-alloc (size);
+
+    return srealloc (ptr, size);
+}
+
+
+EXPORT void
+dump_string_alloc_counts(FILE *stat_file)
+{
+    fprintf(stat_file, "---" __FILE__ ":\n"
+	    "\tAllocated strings:    %d\n",
+	    no_of_allocated_blocks);
+}
-- 
GitLab