This is a checkpoint of the improvements to the sqlite integration. The
data_parser stuff should be much better now and I've tried to improve
other parts of the user experience as well.
Some changes to the glog_log sql table:
* Removed the 'glog_level' field since the standard one should be able to
handle everything now.
* Changed the 'file' column to 'src_file' and added a 'src_line' column.
* Added the sample glog log content to the test directory.
* grep_proc.cc: When a request is queued with the start line
== -1, we need to start searching from the highest line
ever seen and not the last line processed.
* line_buffer.cc: If a partial line was read, we need to
avoid returning another line if more data is appended
to the file.
* lnav.cc: Accept file name patterns on the command-line that
don't match any files yet. Initialize the screen before
redirecting stderr to the log file or /dev/null.
* log_format.hh: Add some comments. Start to add back support
for scrubbing.
* logfile_sub_source.cc: Move scrubbing to the format impl.
* textview_curses.hh: Add comments.
* log_format.cc, log_format_impls.cc, log_format.hh: Change
log_scanf to return a pointer to the character in the
time string that was not part of the time. Change the
generic log format to try and pull out the millisecond
value from the timestamp.
* test/Makefile.am: Fix some dist problems.
* test/logfile_generic.0: Test logfile for the generic log format.
The cygwin build is pretty straightforward, but there's
still some glitches that need to be fixed.
* line_buffer.hh, line_buffer.cc: If the bzip library is not available, don't
try to open bzip files. Also, ignore ENODATA errors since they seem to
show up when pread reaches the end of the file.
* lnav.cc: The abs() function is ambiguous on windows, use std::abs instead.