summaryrefslogtreecommitdiffstats
path: root/strstorage.c
diff options
context:
space:
mode:
Diffstat (limited to 'strstorage.c')
-rw-r--r--strstorage.c29
1 files changed, 0 insertions, 29 deletions
diff --git a/strstorage.c b/strstorage.c
deleted file mode 100644
index 3cc98b7..0000000
--- a/strstorage.c
+++ /dev/null
@@ -1,29 +0,0 @@
-#include <stdlib.h>
-#include "byte.h"
-#include "strstorage.h"
-
-#define PAGESIZE 4096
-
-const char* strstorage_add(const char* s,size_t n) {
- static char* page=0;
- static size_t leftonpage=0;
- if (leftonpage>=n) {
-copyit:
- byte_copy(page,n,s);
- s=page;
- page+=n;
- leftonpage-=n;
- } else {
- if (n>=PAGESIZE/2) {
- char* tmp=malloc(n);
- if (!tmp) return 0;
- byte_copy(tmp,n,s);
- s=tmp;
- } else {
- if (!(page=malloc(PAGESIZE))) return 0;
- leftonpage=PAGESIZE;
- goto copyit;
- }
- }
- return s;
-}