diff options
Diffstat (limited to 'src/ragel/smtp_date_parser.rl')
-rw-r--r-- | src/ragel/smtp_date_parser.rl | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/ragel/smtp_date_parser.rl b/src/ragel/smtp_date_parser.rl new file mode 100644 index 000000000..84b63f1bd --- /dev/null +++ b/src/ragel/smtp_date_parser.rl @@ -0,0 +1,28 @@ +%%{ + + machine smtp_date_parser; + include smtp_date "smtp_date.rl"; + + main := date_time; +}%% + +#include "smtp_parsers.h" +#include "util.h" + +%% write data; + +guint64 +rspamd_parse_smtp_date (const char *data, size_t len) +{ + const gchar *p = data, *pe = data + len, *eof = data + len, *tmp = data; + struct tm tm; + glong tz = 0; + gint cs = 0; + + memset (&tm, 0, sizeof (tm)); + + %% write init; + %% write exec; + + return rspamd_tm_to_time (&tm, tz); +}
\ No newline at end of file |