aboutsummaryrefslogtreecommitdiffstats
path: root/util/datetime/parser.rl6
diff options
context:
space:
mode:
authorndnuriev <ndnuriev@yandex-team.ru>2022-02-10 16:49:45 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:45 +0300
commit28045de07753ee182fc8e5ca778469d7a7c5bb20 (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /util/datetime/parser.rl6
parent3659e5861440ac98d0380de7698601ad14655a7a (diff)
downloadydb-28045de07753ee182fc8e5ca778469d7a7c5bb20.tar.gz
Restoring authorship annotation for <ndnuriev@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'util/datetime/parser.rl6')
-rw-r--r--util/datetime/parser.rl6476
1 files changed, 238 insertions, 238 deletions
diff --git a/util/datetime/parser.rl6 b/util/datetime/parser.rl6
index 86e714ab59c..931f09eae11 100644
--- a/util/datetime/parser.rl6
+++ b/util/datetime/parser.rl6
@@ -163,11 +163,23 @@ write data noerror;
}%%
-TRfc822DateTimeParserDeprecated::TRfc822DateTimeParserDeprecated() {
+TRfc822DateTimeParserDeprecated::TRfc822DateTimeParserDeprecated() {
%% write init;
}
-bool TRfc822DateTimeParserDeprecated::ParsePart(const char* input, size_t len) {
+bool TRfc822DateTimeParserDeprecated::ParsePart(const char* input, size_t len) {
+ const char* p = input;
+ const char* pe = input + len;
+
+ %% write exec;
+ return cs != %%{ write error; }%%;
+}
+
+TRfc822DateTimeParser::TRfc822DateTimeParser() {
+ %% write init;
+}
+
+bool TRfc822DateTimeParser::ParsePart(const char* input, size_t len) {
const char* p = input;
const char* pe = input + len;
@@ -175,18 +187,6 @@ bool TRfc822DateTimeParserDeprecated::ParsePart(const char* input, size_t len) {
return cs != %%{ write error; }%%;
}
-TRfc822DateTimeParser::TRfc822DateTimeParser() {
- %% write init;
-}
-
-bool TRfc822DateTimeParser::ParsePart(const char* input, size_t len) {
- const char* p = input;
- const char* pe = input + len;
-
- %% write exec;
- return cs != %%{ write error; }%%;
-}
-
%%{
machine ISO8601DateTimeParser;
@@ -223,11 +223,23 @@ write data noerror;
}%%
-TIso8601DateTimeParserDeprecated::TIso8601DateTimeParserDeprecated() {
+TIso8601DateTimeParserDeprecated::TIso8601DateTimeParserDeprecated() {
+ %% write init;
+}
+
+bool TIso8601DateTimeParserDeprecated::ParsePart(const char* input, size_t len) {
+ const char* p = input;
+ const char* pe = input + len;
+
+ %% write exec;
+ return cs != %%{ write error; }%%;
+}
+
+TIso8601DateTimeParser::TIso8601DateTimeParser() {
%% write init;
}
-bool TIso8601DateTimeParserDeprecated::ParsePart(const char* input, size_t len) {
+bool TIso8601DateTimeParser::ParsePart(const char* input, size_t len) {
const char* p = input;
const char* pe = input + len;
@@ -235,18 +247,6 @@ bool TIso8601DateTimeParserDeprecated::ParsePart(const char* input, size_t len)
return cs != %%{ write error; }%%;
}
-TIso8601DateTimeParser::TIso8601DateTimeParser() {
- %% write init;
-}
-
-bool TIso8601DateTimeParser::ParsePart(const char* input, size_t len) {
- const char* p = input;
- const char* pe = input + len;
-
- %% write exec;
- return cs != %%{ write error; }%%;
-}
-
%%{
machine HttpDateTimeParser;
@@ -279,11 +279,23 @@ write data noerror;
}%%
-THttpDateTimeParserDeprecated::THttpDateTimeParserDeprecated() {
+THttpDateTimeParserDeprecated::THttpDateTimeParserDeprecated() {
%% write init;
}
-bool THttpDateTimeParserDeprecated::ParsePart(const char* input, size_t len) {
+bool THttpDateTimeParserDeprecated::ParsePart(const char* input, size_t len) {
+ const char* p = input;
+ const char* pe = input + len;
+
+ %% write exec;
+ return cs != %%{ write error; }%%;
+}
+
+THttpDateTimeParser::THttpDateTimeParser() {
+ %% write init;
+}
+
+bool THttpDateTimeParser::ParsePart(const char* input, size_t len) {
const char* p = input;
const char* pe = input + len;
@@ -291,18 +303,6 @@ bool THttpDateTimeParserDeprecated::ParsePart(const char* input, size_t len) {
return cs != %%{ write error; }%%;
}
-THttpDateTimeParser::THttpDateTimeParser() {
- %% write init;
-}
-
-bool THttpDateTimeParser::ParsePart(const char* input, size_t len) {
- const char* p = input;
- const char* pe = input + len;
-
- %% write exec;
- return cs != %%{ write error; }%%;
-}
-
%%{
machine X509ValidityDateTimeParser;
@@ -325,11 +325,23 @@ write data noerror;
}%%
-TX509ValidityDateTimeParserDeprecated::TX509ValidityDateTimeParserDeprecated() {
+TX509ValidityDateTimeParserDeprecated::TX509ValidityDateTimeParserDeprecated() {
+ %% write init;
+}
+
+bool TX509ValidityDateTimeParserDeprecated::ParsePart(const char *input, size_t len) {
+ const char *p = input;
+ const char *pe = input + len;
+
+ %% write exec;
+ return cs != %%{ write error; }%%;
+}
+
+TX509ValidityDateTimeParser::TX509ValidityDateTimeParser() {
%% write init;
}
-bool TX509ValidityDateTimeParserDeprecated::ParsePart(const char *input, size_t len) {
+bool TX509ValidityDateTimeParser::ParsePart(const char *input, size_t len) {
const char *p = input;
const char *pe = input + len;
@@ -337,18 +349,6 @@ bool TX509ValidityDateTimeParserDeprecated::ParsePart(const char *input, size_t
return cs != %%{ write error; }%%;
}
-TX509ValidityDateTimeParser::TX509ValidityDateTimeParser() {
- %% write init;
-}
-
-bool TX509ValidityDateTimeParser::ParsePart(const char *input, size_t len) {
- const char *p = input;
- const char *pe = input + len;
-
- %% write exec;
- return cs != %%{ write error; }%%;
-}
-
%%{
machine X509Validity4yDateTimeParser;
@@ -370,11 +370,11 @@ write data noerror;
}%%
-TX509Validity4yDateTimeParserDeprecated::TX509Validity4yDateTimeParserDeprecated() {
+TX509Validity4yDateTimeParserDeprecated::TX509Validity4yDateTimeParserDeprecated() {
%% write init;
}
-bool TX509Validity4yDateTimeParserDeprecated::ParsePart(const char *input, size_t len) {
+bool TX509Validity4yDateTimeParserDeprecated::ParsePart(const char *input, size_t len) {
const char *p = input;
const char *pe = input + len;
@@ -382,68 +382,68 @@ bool TX509Validity4yDateTimeParserDeprecated::ParsePart(const char *input, size_
return cs != %%{ write error; }%%;
}
-TX509Validity4yDateTimeParser::TX509Validity4yDateTimeParser() {
- %% write init;
-}
-
-bool TX509Validity4yDateTimeParser::ParsePart(const char *input, size_t len) {
- const char *p = input;
- const char *pe = input + len;
-
- %% write exec;
- return cs != %%{ write error; }%%;
-}
-
-TInstant TIso8601DateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+TX509Validity4yDateTimeParser::TX509Validity4yDateTimeParser() {
+ %% write init;
+}
+
+bool TX509Validity4yDateTimeParser::ParsePart(const char *input, size_t len) {
+ const char *p = input;
+ const char *pe = input + len;
+
+ %% write exec;
+ return cs != %%{ write error; }%%;
+}
+
+TInstant TIso8601DateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+ Y_UNUSED(ISO8601DateTimeParser_en_main);
+ return TDateTimeParserBaseDeprecated::GetResult(ISO8601DateTimeParser_first_final, defaultValue);
+}
+
+TInstant TRfc822DateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+ Y_UNUSED(RFC822DateParser_en_main);
+ return TDateTimeParserBaseDeprecated::GetResult(RFC822DateParser_first_final, defaultValue);
+}
+
+TInstant THttpDateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+ Y_UNUSED(HttpDateTimeParserStandalone_en_main);
+ return TDateTimeParserBaseDeprecated::GetResult(HttpDateTimeParserStandalone_first_final, defaultValue);
+}
+
+TInstant TX509ValidityDateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+ Y_UNUSED(X509ValidityDateTimeParser_en_main);
+ return TDateTimeParserBaseDeprecated::GetResult(X509ValidityDateTimeParser_first_final, defaultValue);
+}
+
+TInstant TX509Validity4yDateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+ Y_UNUSED(X509Validity4yDateTimeParser_en_main);
+ return TDateTimeParserBaseDeprecated::GetResult(X509Validity4yDateTimeParser_first_final, defaultValue);
+}
+
+TInstant TIso8601DateTimeParser::GetResult(TInstant defaultValue) const {
Y_UNUSED(ISO8601DateTimeParser_en_main);
- return TDateTimeParserBaseDeprecated::GetResult(ISO8601DateTimeParser_first_final, defaultValue);
+ return TDateTimeParserBase::GetResult(ISO8601DateTimeParser_first_final, defaultValue);
}
-TInstant TRfc822DateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+TInstant TRfc822DateTimeParser::GetResult(TInstant defaultValue) const {
Y_UNUSED(RFC822DateParser_en_main);
- return TDateTimeParserBaseDeprecated::GetResult(RFC822DateParser_first_final, defaultValue);
+ return TDateTimeParserBase::GetResult(RFC822DateParser_first_final, defaultValue);
}
-TInstant THttpDateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+TInstant THttpDateTimeParser::GetResult(TInstant defaultValue) const {
Y_UNUSED(HttpDateTimeParserStandalone_en_main);
- return TDateTimeParserBaseDeprecated::GetResult(HttpDateTimeParserStandalone_first_final, defaultValue);
+ return TDateTimeParserBase::GetResult(HttpDateTimeParserStandalone_first_final, defaultValue);
}
-TInstant TX509ValidityDateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+TInstant TX509ValidityDateTimeParser::GetResult(TInstant defaultValue) const {
Y_UNUSED(X509ValidityDateTimeParser_en_main);
- return TDateTimeParserBaseDeprecated::GetResult(X509ValidityDateTimeParser_first_final, defaultValue);
+ return TDateTimeParserBase::GetResult(X509ValidityDateTimeParser_first_final, defaultValue);
}
-TInstant TX509Validity4yDateTimeParserDeprecated::GetResult(TInstant defaultValue) const {
+TInstant TX509Validity4yDateTimeParser::GetResult(TInstant defaultValue) const {
Y_UNUSED(X509Validity4yDateTimeParser_en_main);
- return TDateTimeParserBaseDeprecated::GetResult(X509Validity4yDateTimeParser_first_final, defaultValue);
-}
-
-TInstant TIso8601DateTimeParser::GetResult(TInstant defaultValue) const {
- Y_UNUSED(ISO8601DateTimeParser_en_main);
- return TDateTimeParserBase::GetResult(ISO8601DateTimeParser_first_final, defaultValue);
-}
-
-TInstant TRfc822DateTimeParser::GetResult(TInstant defaultValue) const {
- Y_UNUSED(RFC822DateParser_en_main);
- return TDateTimeParserBase::GetResult(RFC822DateParser_first_final, defaultValue);
-}
-
-TInstant THttpDateTimeParser::GetResult(TInstant defaultValue) const {
- Y_UNUSED(HttpDateTimeParserStandalone_en_main);
- return TDateTimeParserBase::GetResult(HttpDateTimeParserStandalone_first_final, defaultValue);
-}
-
-TInstant TX509ValidityDateTimeParser::GetResult(TInstant defaultValue) const {
- Y_UNUSED(X509ValidityDateTimeParser_en_main);
- return TDateTimeParserBase::GetResult(X509ValidityDateTimeParser_first_final, defaultValue);
-}
-
-TInstant TX509Validity4yDateTimeParser::GetResult(TInstant defaultValue) const {
- Y_UNUSED(X509Validity4yDateTimeParser_en_main);
- return TDateTimeParserBase::GetResult(X509Validity4yDateTimeParser_first_final, defaultValue);
-}
-
+ return TDateTimeParserBase::GetResult(X509Validity4yDateTimeParser_first_final, defaultValue);
+}
+
template<class TParser, class TResult>
static inline TResult Parse(const char* input, size_t len, TResult defaultValue) {
TParser parser;
@@ -460,19 +460,19 @@ static inline TResult ParseUnsafe(const char* input, size_t len) {
return r;
}
-TInstant TInstant::ParseIso8601Deprecated(const TStringBuf input) {
+TInstant TInstant::ParseIso8601Deprecated(const TStringBuf input) {
return ParseUnsafe<TIso8601DateTimeParserDeprecated, TInstant>(input.data(), input.size());
}
-TInstant TInstant::ParseRfc822Deprecated(const TStringBuf input) {
+TInstant TInstant::ParseRfc822Deprecated(const TStringBuf input) {
return ParseUnsafe<TRfc822DateTimeParserDeprecated, TInstant>(input.data(), input.size());
}
-TInstant TInstant::ParseHttpDeprecated(const TStringBuf input) {
+TInstant TInstant::ParseHttpDeprecated(const TStringBuf input) {
return ParseUnsafe<THttpDateTimeParserDeprecated, TInstant>(input.data(), input.size());
}
-TInstant TInstant::ParseX509ValidityDeprecated(const TStringBuf input) {
+TInstant TInstant::ParseX509ValidityDeprecated(const TStringBuf input) {
switch (input.size()) {
case 13:
return ParseUnsafe<TX509ValidityDateTimeParserDeprecated, TInstant>(input.data(), 13);
@@ -483,7 +483,7 @@ TInstant TInstant::ParseX509ValidityDeprecated(const TStringBuf input) {
}
}
-bool TInstant::TryParseIso8601Deprecated(const TStringBuf input, TInstant& instant) {
+bool TInstant::TryParseIso8601Deprecated(const TStringBuf input, TInstant& instant) {
const auto parsed = ParseUnsafe<TIso8601DateTimeParserDeprecated, TInstant, false>(input.data(), input.size());
if (TInstant::Max() == parsed) {
return false;
@@ -492,7 +492,7 @@ bool TInstant::TryParseIso8601Deprecated(const TStringBuf input, TInstant& insta
return true;
}
-bool TInstant::TryParseRfc822Deprecated(const TStringBuf input, TInstant& instant) {
+bool TInstant::TryParseRfc822Deprecated(const TStringBuf input, TInstant& instant) {
const auto parsed = ParseUnsafe<TRfc822DateTimeParserDeprecated, TInstant, false>(input.data(), input.size());
if (TInstant::Max() == parsed) {
return false;
@@ -501,7 +501,7 @@ bool TInstant::TryParseRfc822Deprecated(const TStringBuf input, TInstant& instan
return true;
}
-bool TInstant::TryParseHttpDeprecated(const TStringBuf input, TInstant& instant) {
+bool TInstant::TryParseHttpDeprecated(const TStringBuf input, TInstant& instant) {
const auto parsed = ParseUnsafe<THttpDateTimeParserDeprecated, TInstant, false>(input.data(), input.size());
if (TInstant::Max() == parsed) {
return false;
@@ -510,7 +510,7 @@ bool TInstant::TryParseHttpDeprecated(const TStringBuf input, TInstant& instant)
return true;
}
-bool TInstant::TryParseX509Deprecated(const TStringBuf input, TInstant& instant) {
+bool TInstant::TryParseX509Deprecated(const TStringBuf input, TInstant& instant) {
TInstant parsed;
switch (input.size()) {
case 13:
@@ -529,136 +529,136 @@ bool TInstant::TryParseX509Deprecated(const TStringBuf input, TInstant& instant)
return true;
}
-TInstant TInstant::ParseIso8601(const TStringBuf input) {
+TInstant TInstant::ParseIso8601(const TStringBuf input) {
return ParseUnsafe<TIso8601DateTimeParser, TInstant>(input.data(), input.size());
-}
-
-TInstant TInstant::ParseRfc822(const TStringBuf input) {
+}
+
+TInstant TInstant::ParseRfc822(const TStringBuf input) {
return ParseUnsafe<TRfc822DateTimeParser, TInstant>(input.data(), input.size());
-}
-
-TInstant TInstant::ParseHttp(const TStringBuf input) {
+}
+
+TInstant TInstant::ParseHttp(const TStringBuf input) {
return ParseUnsafe<THttpDateTimeParser, TInstant>(input.data(), input.size());
-}
-
-TInstant TInstant::ParseX509Validity(const TStringBuf input) {
+}
+
+TInstant TInstant::ParseX509Validity(const TStringBuf input) {
switch (input.size()) {
- case 13:
+ case 13:
return ParseUnsafe<TX509ValidityDateTimeParser, TInstant>(input.data(), 13);
- case 15:
+ case 15:
return ParseUnsafe<TX509Validity4yDateTimeParser, TInstant>(input.data(), 15);
- default:
- ythrow TDateTimeParseException();
- }
-}
-
-bool TInstant::TryParseIso8601(const TStringBuf input, TInstant& instant) {
+ default:
+ ythrow TDateTimeParseException();
+ }
+}
+
+bool TInstant::TryParseIso8601(const TStringBuf input, TInstant& instant) {
const auto parsed = ParseUnsafe<TIso8601DateTimeParser, TInstant, false>(input.data(), input.size());
- if (TInstant::Max() == parsed) {
- return false;
- }
- instant = parsed;
- return true;
-}
-
-bool TInstant::TryParseRfc822(const TStringBuf input, TInstant& instant) {
+ if (TInstant::Max() == parsed) {
+ return false;
+ }
+ instant = parsed;
+ return true;
+}
+
+bool TInstant::TryParseRfc822(const TStringBuf input, TInstant& instant) {
const auto parsed = ParseUnsafe<TRfc822DateTimeParser, TInstant, false>(input.data(), input.size());
- if (TInstant::Max() == parsed) {
- return false;
- }
- instant = parsed;
- return true;
-}
-
-bool TInstant::TryParseHttp(const TStringBuf input, TInstant& instant) {
+ if (TInstant::Max() == parsed) {
+ return false;
+ }
+ instant = parsed;
+ return true;
+}
+
+bool TInstant::TryParseHttp(const TStringBuf input, TInstant& instant) {
const auto parsed = ParseUnsafe<THttpDateTimeParser, TInstant, false>(input.data(), input.size());
- if (TInstant::Max() == parsed) {
- return false;
- }
- instant = parsed;
- return true;
-}
-
-bool TInstant::TryParseX509(const TStringBuf input, TInstant& instant) {
- TInstant parsed;
+ if (TInstant::Max() == parsed) {
+ return false;
+ }
+ instant = parsed;
+ return true;
+}
+
+bool TInstant::TryParseX509(const TStringBuf input, TInstant& instant) {
+ TInstant parsed;
switch (input.size()) {
- case 13:
+ case 13:
parsed = ParseUnsafe<TX509ValidityDateTimeParser, TInstant, false>(input.data(), 13);
- break;
- case 15:
+ break;
+ case 15:
parsed = ParseUnsafe<TX509Validity4yDateTimeParser, TInstant, false>(input.data(), 15);
- break;
- default:
- return false;
- }
- if (TInstant::Max() == parsed) {
- return false;
- }
- instant = parsed;
- return true;
-}
-
-bool ParseRFC822DateTimeDeprecated(const char* input, time_t& utcTime) {
- return ParseRFC822DateTimeDeprecated(input, strlen(input), utcTime);
-}
-
-bool ParseISO8601DateTimeDeprecated(const char* input, time_t& utcTime) {
- return ParseISO8601DateTimeDeprecated(input, strlen(input), utcTime);
-}
-
-bool ParseHTTPDateTimeDeprecated(const char* input, time_t& utcTime) {
- return ParseHTTPDateTimeDeprecated(input, strlen(input), utcTime);
-}
-
-bool ParseX509ValidityDateTimeDeprecated(const char* input, time_t& utcTime) {
- return ParseX509ValidityDateTimeDeprecated(input, strlen(input), utcTime);
-}
-
-bool ParseRFC822DateTimeDeprecated(const char* input, size_t inputLen, time_t& utcTime) {
- try {
- utcTime = ParseUnsafe<TRfc822DateTimeParserDeprecated, TInstant>(input, inputLen).TimeT();
- return true;
- } catch (const TDateTimeParseException&) {
- return false;
- }
-}
-
-bool ParseISO8601DateTimeDeprecated(const char* input, size_t inputLen, time_t& utcTime) {
- try {
- utcTime = ParseUnsafe<TIso8601DateTimeParserDeprecated, TInstant>(input, inputLen).TimeT();
- return true;
- } catch (const TDateTimeParseException&) {
- return false;
- }
-}
-
-bool ParseHTTPDateTimeDeprecated(const char* input, size_t inputLen, time_t& utcTime) {
- try {
- utcTime = ParseUnsafe<THttpDateTimeParserDeprecated, TInstant>(input, inputLen).TimeT();
- return true;
- } catch (const TDateTimeParseException&) {
- return false;
- }
-}
-
-bool ParseX509ValidityDateTimeDeprecated(const char* input, size_t inputLen, time_t& utcTime) {
- TInstant r;
- switch (inputLen) {
- case 13:
- r = Parse<TX509ValidityDateTimeParserDeprecated, TInstant>(input, 13, TInstant::Max());
- break;
- case 15:
- r = Parse<TX509Validity4yDateTimeParserDeprecated, TInstant>(input, 15, TInstant::Max());
- break;
- default:
- return false;
- }
- if (r == TInstant::Max())
- return false;
- utcTime = r.TimeT();
- return true;
-}
-
+ break;
+ default:
+ return false;
+ }
+ if (TInstant::Max() == parsed) {
+ return false;
+ }
+ instant = parsed;
+ return true;
+}
+
+bool ParseRFC822DateTimeDeprecated(const char* input, time_t& utcTime) {
+ return ParseRFC822DateTimeDeprecated(input, strlen(input), utcTime);
+}
+
+bool ParseISO8601DateTimeDeprecated(const char* input, time_t& utcTime) {
+ return ParseISO8601DateTimeDeprecated(input, strlen(input), utcTime);
+}
+
+bool ParseHTTPDateTimeDeprecated(const char* input, time_t& utcTime) {
+ return ParseHTTPDateTimeDeprecated(input, strlen(input), utcTime);
+}
+
+bool ParseX509ValidityDateTimeDeprecated(const char* input, time_t& utcTime) {
+ return ParseX509ValidityDateTimeDeprecated(input, strlen(input), utcTime);
+}
+
+bool ParseRFC822DateTimeDeprecated(const char* input, size_t inputLen, time_t& utcTime) {
+ try {
+ utcTime = ParseUnsafe<TRfc822DateTimeParserDeprecated, TInstant>(input, inputLen).TimeT();
+ return true;
+ } catch (const TDateTimeParseException&) {
+ return false;
+ }
+}
+
+bool ParseISO8601DateTimeDeprecated(const char* input, size_t inputLen, time_t& utcTime) {
+ try {
+ utcTime = ParseUnsafe<TIso8601DateTimeParserDeprecated, TInstant>(input, inputLen).TimeT();
+ return true;
+ } catch (const TDateTimeParseException&) {
+ return false;
+ }
+}
+
+bool ParseHTTPDateTimeDeprecated(const char* input, size_t inputLen, time_t& utcTime) {
+ try {
+ utcTime = ParseUnsafe<THttpDateTimeParserDeprecated, TInstant>(input, inputLen).TimeT();
+ return true;
+ } catch (const TDateTimeParseException&) {
+ return false;
+ }
+}
+
+bool ParseX509ValidityDateTimeDeprecated(const char* input, size_t inputLen, time_t& utcTime) {
+ TInstant r;
+ switch (inputLen) {
+ case 13:
+ r = Parse<TX509ValidityDateTimeParserDeprecated, TInstant>(input, 13, TInstant::Max());
+ break;
+ case 15:
+ r = Parse<TX509Validity4yDateTimeParserDeprecated, TInstant>(input, 15, TInstant::Max());
+ break;
+ default:
+ return false;
+ }
+ if (r == TInstant::Max())
+ return false;
+ utcTime = r.TimeT();
+ return true;
+}
+
bool ParseRFC822DateTime(const char* input, time_t& utcTime) {
return ParseRFC822DateTime(input, strlen(input), utcTime);
}
@@ -677,7 +677,7 @@ bool ParseX509ValidityDateTime(const char* input, time_t& utcTime) {
bool ParseRFC822DateTime(const char* input, size_t inputLen, time_t& utcTime) {
try {
- utcTime = ParseUnsafe<TRfc822DateTimeParser, TInstant>(input, inputLen).TimeT();
+ utcTime = ParseUnsafe<TRfc822DateTimeParser, TInstant>(input, inputLen).TimeT();
return true;
} catch (const TDateTimeParseException&) {
return false;
@@ -686,7 +686,7 @@ bool ParseRFC822DateTime(const char* input, size_t inputLen, time_t& utcTime) {
bool ParseISO8601DateTime(const char* input, size_t inputLen, time_t& utcTime) {
try {
- utcTime = ParseUnsafe<TIso8601DateTimeParser, TInstant>(input, inputLen).TimeT();
+ utcTime = ParseUnsafe<TIso8601DateTimeParser, TInstant>(input, inputLen).TimeT();
return true;
} catch (const TDateTimeParseException&) {
return false;
@@ -695,7 +695,7 @@ bool ParseISO8601DateTime(const char* input, size_t inputLen, time_t& utcTime) {
bool ParseHTTPDateTime(const char* input, size_t inputLen, time_t& utcTime) {
try {
- utcTime = ParseUnsafe<THttpDateTimeParser, TInstant>(input, inputLen).TimeT();
+ utcTime = ParseUnsafe<THttpDateTimeParser, TInstant>(input, inputLen).TimeT();
return true;
} catch (const TDateTimeParseException&) {
return false;
@@ -706,10 +706,10 @@ bool ParseX509ValidityDateTime(const char* input, size_t inputLen, time_t& utcTi
TInstant r;
switch (inputLen) {
case 13:
- r = Parse<TX509ValidityDateTimeParser, TInstant>(input, 13, TInstant::Max());
+ r = Parse<TX509ValidityDateTimeParser, TInstant>(input, 13, TInstant::Max());
break;
case 15:
- r = Parse<TX509Validity4yDateTimeParser, TInstant>(input, 15, TInstant::Max());
+ r = Parse<TX509Validity4yDateTimeParser, TInstant>(input, 15, TInstant::Max());
break;
default:
return false;