From d11882c0cbb194a6d78b7aa6a9bc97dbf0cb6eb8 Mon Sep 17 00:00:00 2001 From: levlam Date: Thu, 5 Mar 2020 16:56:17 +0300 Subject: [PATCH] Prefer continuous ranges as a bank card number. GitOrigin-RevId: 77eb573fd9580cd79964cecfe879a91178d5a43c --- td/telegram/MessageEntity.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/td/telegram/MessageEntity.cpp b/td/telegram/MessageEntity.cpp index 0a13caa49..07477b354 100644 --- a/td/telegram/MessageEntity.cpp +++ b/td/telegram/MessageEntity.cpp @@ -430,6 +430,10 @@ static vector match_bank_card_numbers(Slice str) { auto card_number_begin = ptr; size_t digit_count = 0; while (ptr != end && (is_digit(*ptr) || *ptr == ' ' || *ptr == '-')) { + if (*ptr == ' ' && digit_count >= 16 && digit_count <= 19 && digit_count == static_cast(ptr - card_number_begin)) { + // continuous card number + break; + } digit_count += static_cast(is_digit(*ptr)); ptr++; }