summaryrefslogtreecommitdiff
path: root/ext/mbstring/libmbfl/mbfl/mbfl_string.c
diff options
context:
space:
mode:
Diffstat (limited to 'ext/mbstring/libmbfl/mbfl/mbfl_string.c')
-rw-r--r--ext/mbstring/libmbfl/mbfl/mbfl_string.c25
1 files changed, 8 insertions, 17 deletions
diff --git a/ext/mbstring/libmbfl/mbfl/mbfl_string.c b/ext/mbstring/libmbfl/mbfl/mbfl_string.c
index a036356dd2..760634e65d 100644
--- a/ext/mbstring/libmbfl/mbfl/mbfl_string.c
+++ b/ext/mbstring/libmbfl/mbfl/mbfl_string.c
@@ -31,31 +31,22 @@
#include "mbfl_string.h"
#include "mbfilter_pass.h"
-/*
- * string object
- */
-void
-mbfl_string_init(mbfl_string *string)
+void mbfl_string_init_set(mbfl_string *string, const mbfl_encoding *encoding)
{
- string->encoding = &mbfl_encoding_pass;
- string->val = (unsigned char*)NULL;
+ string->encoding = encoding;
+ string->val = NULL;
string->len = 0;
}
-void
-mbfl_string_init_set(mbfl_string *string, const mbfl_encoding *encoding)
+void mbfl_string_init(mbfl_string *string)
{
- string->encoding = encoding;
- string->val = (unsigned char*)NULL;
- string->len = 0;
+ mbfl_string_init_set(string, &mbfl_encoding_pass);
}
-void
-mbfl_string_clear(mbfl_string *string)
+void mbfl_string_clear(mbfl_string *string)
{
- if (string->val != (unsigned char*)NULL) {
+ if (string->val) {
efree(string->val);
}
- string->val = (unsigned char*)NULL;
- string->len = 0;
+ mbfl_string_init_set(string, NULL); /* Poison it so any attempt to reuse will fail hard */
}