mirror of
https://codeberg.org/vyn/mirai.git
synced 2025-07-02 17:23:20 +00:00
Improve startup time
This commit is contained in:
parent
d90bfbc483
commit
597ea0ac2d
10 changed files with 82 additions and 23 deletions
|
@ -5,12 +5,34 @@
|
|||
*/
|
||||
|
||||
#include "utils.h"
|
||||
#include <cctype>
|
||||
|
||||
namespace mirai
|
||||
{
|
||||
bool isDate(const std::string &dateStr)
|
||||
{
|
||||
std::regex regex("[0-9]{4}-[0-9]{2}-[0-9]{2}");
|
||||
return std::regex_match(dateStr, regex);
|
||||
// std regex are really slow
|
||||
/*std::regex regex("[0-9]{4}-[0-9]{2}-[0-9]{2}");*/
|
||||
/*return std::regex_match(dateStr, regex);*/
|
||||
|
||||
// Quick hand made check instead of regex until I rework date to use timestamp or std::chrono
|
||||
if (dateStr.length() != 10) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if (dateStr[4] != '-' || dateStr[7] != '-') {
|
||||
return false;
|
||||
}
|
||||
|
||||
for (int i = 0; i < dateStr.length(); ++i) {
|
||||
if (i == 4 || i == 7) {
|
||||
// These are the '-' characters
|
||||
continue;
|
||||
}
|
||||
if (!isdigit(dateStr[i])) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
} // namespace mirai
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue