aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--common.cpp6
1 files changed, 2 insertions, 4 deletions
diff --git a/common.cpp b/common.cpp
index 0fb8b774..41318995 100644
--- a/common.cpp
+++ b/common.cpp
@@ -302,8 +302,7 @@ std::string wcs2string(const wcstring &input)
mbstate_t state;
memset(&state, 0, sizeof(state));
- size_t converted_max_len = (size_t)(1 + __mb_cur_max);
- char *converted = new char[converted_max_len];
+ char converted[MB_LEN_MAX + 1];
for (size_t i=0; i < input.size(); i++)
{
@@ -318,7 +317,7 @@ std::string wcs2string(const wcstring &input)
}
else
{
- bzero(converted, converted_max_len);
+ bzero(converted, sizeof converted);
size_t len = wcrtomb(converted, wc, &state);
if (len == (size_t)(-1))
{
@@ -332,7 +331,6 @@ std::string wcs2string(const wcstring &input)
}
}
- delete [] converted;
return result;
}