fix: -Wunsafe-buffer-usage warning in HasWordCharacters() (#44171)
Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Charles Kerr <charles@charleskerr.com>
This commit is contained in:
parent
c9474ef5da
commit
78cb71f7b1
1 changed files with 4 additions and 6 deletions
|
@ -15,6 +15,7 @@
|
|||
#include "base/containers/contains.h"
|
||||
#include "base/logging.h"
|
||||
#include "base/numerics/safe_conversions.h"
|
||||
#include "base/strings/utf_string_conversion_utils.h"
|
||||
#include "base/task/single_thread_task_runner.h"
|
||||
#include "components/spellcheck/renderer/spellcheck_worditerator.h"
|
||||
#include "shell/common/gin_helper/dictionary.h"
|
||||
|
@ -29,12 +30,9 @@ namespace electron::api {
|
|||
|
||||
namespace {
|
||||
|
||||
bool HasWordCharacters(const std::u16string& text, int index) {
|
||||
const char16_t* data = text.data();
|
||||
int length = text.length();
|
||||
while (index < length) {
|
||||
uint32_t code = 0;
|
||||
U16_NEXT(data, index, length, code);
|
||||
bool HasWordCharacters(const std::u16string& text, size_t index) {
|
||||
base_icu::UChar32 code;
|
||||
while (base::ReadUnicodeCharacter(text.c_str(), text.size(), &index, &code)) {
|
||||
UErrorCode error = U_ZERO_ERROR;
|
||||
if (uscript_getScript(code, &error) != USCRIPT_COMMON)
|
||||
return true;
|
||||
|
|
Loading…
Reference in a new issue