================
@@ -1574,25 +1584,23 @@ bool Editline::CompleteCharacter(char ch, 
EditLineGetCharType &out) {
   out = (unsigned char)ch;
   return true;
 #else
-  LLDB_DEPRECATED_WARNING_DISABLE
-  std::codecvt_utf8<wchar_t> cvt;
-  LLDB_DEPRECATED_WARNING_RESTORE
   llvm::SmallString<4> input;
   for (;;) {
-    const char *from_next;
-    wchar_t *to_next;
-    std::mbstate_t state = std::mbstate_t();
     input.push_back(ch);
-    switch (cvt.in(state, input.begin(), input.end(), from_next, &out, &out + 
1,
-                   to_next)) {
-    case std::codecvt_base::ok:
+    const char *cur_ptr = input.begin();
+    const char *end_ptr = input.end();
+    llvm::UTF32 code_point = 0;
+    llvm::ConversionResult cr = llvm::convertUTF8Sequence(
+        (const llvm::UTF8 **)&cur_ptr, (const llvm::UTF8 *)end_ptr, 
&code_point,
----------------
labath wrote:

```suggestion
    auto *cur_ptr = reinterpret_cast<const llvm::UTF8 *>(input.begin());
    auto *end_ptr = reinterpret_cast<const llvm::UTF8 *>(input.end());
    llvm::UTF32 code_point = 0;
    llvm::ConversionResult cr = llvm::convertUTF8Sequence(
        &cur_ptr, end_ptr, &code_point,
```

I think this is "less undefined" :P

https://github.com/llvm/llvm-project/pull/112582
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to