| 225 | return results; |
| 226 | |
| 227 | std::vector<char> bytes; |
| 228 | std::string mask; |
| 229 | |
| 230 | bytes.reserve(pattern.size() / 2); |
| 231 | mask.reserve(pattern.size() / 2); |
| 232 | |
| 233 | auto hexValue = [](char c) -> uint8_t { |
| 234 | if (c >= '0' && c <= '9') |
| 235 | return c - '0'; |
| 236 | |
| 237 | if (c >= 'a' && c <= 'f') |
| 238 | return c - 'a' + 10; |
| 239 | |
| 240 | if (c >= 'A' && c <= 'F') |
| 241 | return c - 'A' + 10; |
| 242 | |
| 243 | return 0; |
| 244 | }; |