mirror of
https://github.com/MaaAssistantArknights/MaaAssistantArknights.git
synced 2026-07-19 02:23:01 +08:00
fix: 再次修复可能的数字识别崩溃问题
This commit is contained in:
@@ -320,12 +320,13 @@ int asst::DepotImageAnalyzer::match_quantity(const Rect& roi)
|
||||
digit_str.erase(m_pos, digit_str.size());
|
||||
}
|
||||
|
||||
constexpr char Dot = '.';
|
||||
if (digit_str.empty() ||
|
||||
!ranges::all_of(digit_str, [](const char& c) -> bool { return std::isdigit(c) || c == '.'; })) {
|
||||
!ranges::all_of(digit_str, [](const char& c) -> bool { return std::isdigit(c) || c == Dot; })) {
|
||||
return 0;
|
||||
}
|
||||
if (auto dot_pos = digit_str.find('.'); dot_pos != std::string::npos) {
|
||||
if (dot_pos == 0 || dot_pos == digit_str.size() - 1) {
|
||||
if (auto dot_pos = digit_str.find(Dot); dot_pos != std::string::npos) {
|
||||
if (dot_pos == 0 || dot_pos == digit_str.size() - 1 || digit_str.find(Dot, dot_pos + 1) != std::string::npos) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -553,12 +553,13 @@ int asst::StageDropsImageAnalyzer::match_quantity(const Rect& roi, bool use_word
|
||||
digit_str.erase(k_pos, digit_str.size());
|
||||
}
|
||||
|
||||
constexpr char Dot = '.';
|
||||
if (digit_str.empty() ||
|
||||
!ranges::all_of(digit_str, [](const char& c) -> bool { return std::isdigit(c) || c == '.'; })) {
|
||||
!ranges::all_of(digit_str, [](const char& c) -> bool { return std::isdigit(c) || c == Dot; })) {
|
||||
return 0;
|
||||
}
|
||||
if (auto dot_pos = digit_str.find('.'); dot_pos != std::string::npos) {
|
||||
if (dot_pos == 0 || dot_pos == digit_str.size() - 1) {
|
||||
if (auto dot_pos = digit_str.find(Dot); dot_pos != std::string::npos) {
|
||||
if (dot_pos == 0 || dot_pos == digit_str.size() - 1 || digit_str.find(Dot, dot_pos + 1) != std::string::npos) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user