- res.AllocBuffer( len );
- wchar_t *dest = (wchar_t*)(const wchar_t*) res.c_str();
-
- for (size_t i = 0; i < len+1; i++)
- dest[i] = (wchar_t) ascii[i];
-
+
+ if ( len )
+ {
+ wxStringBuffer buf(res, len);
+
+ wchar_t *dest = buf;
+
+ for ( ;; )
+ {
+ if ( (*dest++ = (wchar_t)(unsigned char)*ascii++) == L'\0' )
+ break;
+ }
+ }
+