| 49 | } |
| 50 | |
| 51 | WChar* wstring_dup(const WChar* str) |
| 52 | { |
| 53 | if (!str) return 0; |
| 54 | if (!*str) return &s_wempty; |
| 55 | const size_t len = std::wcslen(str); |
| 56 | WChar* const cpy = wstring_alloc(static_cast<UnsignedLong>(len)); |
| 57 | if (cpy) std::wcsncpy(cpy, str, len + 1); |
| 58 | return cpy; |
| 59 | } |
| 60 | |
| 61 | void wstring_free(WChar* str) |
| 62 | { |
no test coverage detected