aboutsummaryrefslogtreecommitdiffstats
path: root/test/ccured_olden/newbisort/ssplain.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/ccured_olden/newbisort/ssplain.c')
-rw-r--r--test/ccured_olden/newbisort/ssplain.c75
1 files changed, 75 insertions, 0 deletions
diff --git a/test/ccured_olden/newbisort/ssplain.c b/test/ccured_olden/newbisort/ssplain.c
new file mode 100644
index 00000000..b178e5f5
--- /dev/null
+++ b/test/ccured_olden/newbisort/ssplain.c
@@ -0,0 +1,75 @@
+#include <assert.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <stdarg.h>
+#include <limits.h>
+#include <stddef.h>
+#include "ssplain.h"
+
+void chatting(char *s, ...)
+{
+ va_list ap;
+ va_start(ap,s);
+ vfprintf(stderr, s, ap);
+ va_end(ap);
+}
+
+void __Olden_panic(char *s, ...)
+{
+ va_list ap;
+ va_start(ap,s);
+ vfprintf(stderr, s, ap);
+ va_end(ap);
+ exit(-1);
+}
+
+#ifdef SS_RAND
+double drand48()
+{
+ double d;
+ d = (double) random() / LONG_MAX;
+ return d;
+}
+
+
+long lrand48()
+{
+ long l = random();
+ return l;
+}
+
+void srand48(long seed)
+{
+ srand(seed);
+}
+#endif SS_RAND
+
+
+static unsigned long bytes_allocated = 0;
+static unsigned long allocations = 0;
+
+void*
+ssplain_malloc(int size)
+{
+ allocations++;
+ bytes_allocated+=size;
+ return malloc(size);
+}
+
+void*
+ssplain_calloc(int nelems, int size)
+{
+ void *p;
+ allocations++;
+ bytes_allocated+= nelems * size;
+ p = calloc(nelems, size);
+ assert (p);
+ return p;
+}
+
+void
+ssplain_alloc_stats()
+{
+ chatting("Allocation stats: %d bytes allocated in %d allocations\n",
+ bytes_allocated, allocations);
+}