comparison src/helper.cpp @ 48:2e8a5f665a07

Merge
author Chris Cannam
date Mon, 03 Sep 2018 16:13:50 +0100
parents d7ec0b2a8802
children 51a8fe0a03cf
comparison
equal deleted inserted replaced
47:c7cb58bb7c1f 48:2e8a5f665a07
123 return "Unable to format error string (internal error)"; 123 return "Unable to format error string (internal error)";
124 } 124 }
125 int wn = wcslen(buffer); 125 int wn = wcslen(buffer);
126 int n = WideCharToMultiByte(CP_UTF8, 0, buffer, wn, 0, 0, 0, 0); 126 int n = WideCharToMultiByte(CP_UTF8, 0, buffer, wn, 0, 0, 0, 0);
127 if (n < 0) { 127 if (n < 0) {
128 LocalFree(&buffer); 128 LocalFree(buffer);
129 return "Unable to convert error string (internal error)"; 129 return "Unable to convert error string (internal error)";
130 } 130 }
131 char *text = new char[n+1]; 131 char *text = new char[n+1];
132 (void)WideCharToMultiByte(CP_UTF8, 0, buffer, wn, text, n, 0, 0); 132 (void)WideCharToMultiByte(CP_UTF8, 0, buffer, wn, text, n, 0, 0);
133 text[n] = '\0'; 133 text[n] = '\0';
134 std::string s(text); 134 std::string s(text);
135 LocalFree(&buffer); 135 LocalFree(buffer);
136 delete[] text; 136 delete[] text;
137 if (s == "") { 137 if (s == "") {
138 return s; 138 return s;
139 } 139 }
140 for (int i = s.size(); i > 0; ) { 140 for (int i = s.size(); i > 0; ) {