[line_buffer] fix crlf handling in log files

pull/627/head
Timothy Stack 6 years ago
parent 9fa3714c85
commit 2e10ca09d0

@ -522,6 +522,7 @@ bool line_buffer::read_line(off_t &offset, line_value &lv, bool include_delim)
else { else {
if (lv.lv_len > 1 && line_start[lv.lv_len - 1] == '\r') { if (lv.lv_len > 1 && line_start[lv.lv_len - 1] == '\r') {
lv.lv_len -= 1; lv.lv_len -= 1;
offset += 1;
} }
offset += 1; /* Skip the delimiter. */ offset += 1; /* Skip the delimiter. */
} }

@ -255,12 +255,12 @@ bool logfile::process_prefix(off_t offset, shared_buffer_ref &sbr)
last_mod = ll.get_module_id(); last_mod = ll.get_module_id();
last_opid = ll.get_opid(); last_opid = ll.get_opid();
} }
this->lf_index.push_back(logline(offset, this->lf_index.emplace_back(offset,
last_time, last_time,
last_millis, last_millis,
last_level, last_level,
last_mod, last_mod,
last_opid)); last_opid);
break; break;
} }
case log_format::SCAN_INCOMPLETE: case log_format::SCAN_INCOMPLETE:

@ -291,6 +291,7 @@ dist_noinst_DATA = \
logfile_bro_conn.log.0 \ logfile_bro_conn.log.0 \
logfile_bro_http.log.0 \ logfile_bro_http.log.0 \
logfile_blued.0 \ logfile_blued.0 \
logfile_crlf.0 \
logfile_cxx.0 \ logfile_cxx.0 \
logfile_empty.0 \ logfile_empty.0 \
logfile_epoch.0 \ logfile_epoch.0 \

@ -0,0 +1,2 @@
2012-07-02 10:22:40,672:DEBUG:foo bar baz
2014-10-08 16:56:38,344:WARN:foo bar baz

@ -360,6 +360,13 @@ check_output "rewriting machine-oriented timestamp didn't work?" <<EOF
2015-04-10 02:58:07.456000 Goodbye, World! 2015-04-10 02:58:07.456000 Goodbye, World!
EOF EOF
run_test ${lnav_test} -n -I ${test_dir} ${srcdir}/logfile_crlf.0
check_output "CR-LF line-endings not handled?" <<EOF
2012-07-02 10:22:40,672:DEBUG:foo bar baz
2014-10-08 16:56:38,344:WARN:foo bar baz
EOF
# XXX get this working... # XXX get this working...
# run_test ${lnav_test} -n -I ${test_dir} <(cat ${srcdir}/logfile_access_log.0) # run_test ${lnav_test} -n -I ${test_dir} <(cat ${srcdir}/logfile_access_log.0)
# #

Loading…
Cancel
Save