summaryrefslogtreecommitdiff
path: root/mstring.c
diff options
context:
space:
mode:
Diffstat (limited to 'mstring.c')
-rw-r--r--mstring.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/mstring.c b/mstring.c
index 3bdb122973a4..1110a7b89f39 100644
--- a/mstring.c
+++ b/mstring.c
@@ -1,4 +1,4 @@
-/* $Id: mstring.c,v 1.7 2016/12/02 17:57:21 tom Exp $ */
+/* $Id: mstring.c,v 1.9 2019/11/19 23:54:53 tom Exp $ */
#include <stdlib.h>
#include <stdio.h>
@@ -12,13 +12,11 @@
#define HEAD 24
#define TAIL 8
-#if defined(YYBTYACC)
-
static char *buf_ptr;
static size_t buf_len;
void
-msprintf(struct mstring *s, const char *fmt,...)
+msprintf(struct mstring *s, const char *fmt, ...)
{
va_list args;
size_t len;
@@ -91,7 +89,6 @@ msprintf(struct mstring *s, const char *fmt,...)
memcpy(s->ptr, buf_ptr, len);
s->ptr += len;
}
-#endif
int
mputchar(struct mstring *s, int ch)
@@ -136,6 +133,20 @@ msnew(void)
return n;
}
+struct mstring *
+msrenew(char *value)
+{
+ struct mstring *r = 0;
+ if (value != 0)
+ {
+ r = msnew();
+ r->base = value;
+ r->end = value + strlen(value);
+ r->ptr = r->end;
+ }
+ return r;
+}
+
char *
msdone(struct mstring *s)
{
@@ -198,10 +209,8 @@ strnshash(const char *s)
void
mstring_leaks(void)
{
-#if defined(YYBTYACC)
free(buf_ptr);
buf_ptr = 0;
buf_len = 0;
-#endif
}
#endif