Add support for bzip2; fix some performance bugs; and

display the log file type in the top status bar.
pull/37/merge
Timothy Stack 13 years ago
parent 371056a8fa
commit 456e015fb0

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.11 from Makefile.am. # Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
@ -271,7 +271,7 @@ TESTS_ENVIRONMENT: $(top_builddir)/config.status $(srcdir)/TESTS_ENVIRONMENT.in
# (which will cause the Makefiles to be regenerated when you run `make'); # (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line. # (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS): $(RECURSIVE_TARGETS):
@failcom='exit 1'; \ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \ for f in x $$MAKEFLAGS; do \
case $$f in \ case $$f in \
*=* | --[!k]*);; \ *=* | --[!k]*);; \
@ -296,7 +296,7 @@ $(RECURSIVE_TARGETS):
fi; test -z "$$fail" fi; test -z "$$fail"
$(RECURSIVE_CLEAN_TARGETS): $(RECURSIVE_CLEAN_TARGETS):
@failcom='exit 1'; \ @fail= failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \ for f in x $$MAKEFLAGS; do \
case $$f in \ case $$f in \
*=* | --[!k]*);; \ *=* | --[!k]*);; \
@ -460,7 +460,8 @@ distdir: $(DISTFILES)
fi; \ fi; \
done done
-test -n "$(am__skip_mode_fix)" \ -test -n "$(am__skip_mode_fix)" \
|| find "$(distdir)" -type d ! -perm -777 -exec chmod a+rwx {} \; -o \ || find "$(distdir)" -type d ! -perm -755 \
-exec chmod u+rwx,go+rx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \ ! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \ ! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \ ! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
@ -504,17 +505,17 @@ dist dist-all: distdir
distcheck: dist distcheck: dist
case '$(DIST_ARCHIVES)' in \ case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \ *.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\ GZIP=$(GZIP_ENV) gzip -dc $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \ *.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\ bzip2 -dc $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.lzma*) \ *.tar.lzma*) \
unlzma -c $(distdir).tar.lzma | $(am__untar) ;;\ lzma -dc $(distdir).tar.lzma | $(am__untar) ;;\
*.tar.xz*) \ *.tar.xz*) \
xz -dc $(distdir).tar.xz | $(am__untar) ;;\ xz -dc $(distdir).tar.xz | $(am__untar) ;;\
*.tar.Z*) \ *.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\ uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \ *.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\ GZIP=$(GZIP_ENV) gzip -dc $(distdir).shar.gz | unshar ;;\
*.zip*) \ *.zip*) \
unzip $(distdir).zip ;;\ unzip $(distdir).zip ;;\
esac esac

10
aclocal.m4 vendored

@ -1,4 +1,4 @@
# generated automatically by aclocal 1.11 -*- Autoconf -*- # generated automatically by aclocal 1.11.1 -*- Autoconf -*-
# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
# 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. # 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
@ -13,8 +13,8 @@
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.64],, m4_if(m4_defn([AC_AUTOCONF_VERSION]), [2.65],,
[m4_warning([this file was generated for autoconf 2.64. [m4_warning([this file was generated for autoconf 2.65.
You have another version of autoconf. It may work, but is not guaranteed to. You have another version of autoconf. It may work, but is not guaranteed to.
If you have problems, you may need to regenerate the build system entirely. If you have problems, you may need to regenerate the build system entirely.
To do so, use the procedure documented by the package, typically `autoreconf'.])]) To do so, use the procedure documented by the package, typically `autoreconf'.])])
@ -34,7 +34,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],
[am__api_version='1.11' [am__api_version='1.11'
dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
dnl require some minimum version. Point them to the right macro. dnl require some minimum version. Point them to the right macro.
m4_if([$1], [1.11], [], m4_if([$1], [1.11.1], [],
[AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
]) ])
@ -50,7 +50,7 @@ m4_define([_AM_AUTOCONF_VERSION], [])
# Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced. # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
# This function is AC_REQUIREd by AM_INIT_AUTOMAKE. # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION], AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.11])dnl [AM_AUTOMAKE_VERSION([1.11.1])dnl
m4_ifndef([AC_AUTOCONF_VERSION], m4_ifndef([AC_AUTOCONF_VERSION],
[m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
_AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))]) _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])

241
configure vendored

@ -1,12 +1,14 @@
#! /bin/sh #! /bin/sh
# Guess values for system-dependent variables and create Makefiles. # Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.64 for lnav 0.4.0. # Generated by GNU Autoconf 2.65 for lnav 0.4.0.
# #
# Report bugs to <timothyshanestack@gmail.com>. # Report bugs to <timothyshanestack@gmail.com>.
# #
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation,
# Foundation, Inc. # Inc.
#
# #
# This configure script is free software; the Free Software Foundation # This configure script is free software; the Free Software Foundation
# gives unlimited permission to copy, distribute and modify it. # gives unlimited permission to copy, distribute and modify it.
@ -527,7 +529,8 @@ as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
exec 7<&0 </dev/null 6>&1 test -n "$DJDIR" || exec 7<&0 </dev/null
exec 6>&1
# Name of the host. # Name of the host.
# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, # hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
@ -1372,7 +1375,7 @@ Some influential environment variables:
LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
nonstandard directory <lib dir> nonstandard directory <lib dir>
LIBS libraries to pass to the linker, e.g. -l<library> LIBS libraries to pass to the linker, e.g. -l<library>
CPPFLAGS C/C++/Objective C preprocessor flags, e.g. -I<include dir> if CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
you have headers in a nonstandard directory <include dir> you have headers in a nonstandard directory <include dir>
CC C compiler command CC C compiler command
CFLAGS C compiler flags CFLAGS C compiler flags
@ -1445,7 +1448,7 @@ test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then if $ac_init_version; then
cat <<\_ACEOF cat <<\_ACEOF
lnav configure 0.4.0 lnav configure 0.4.0
generated by GNU Autoconf 2.64 generated by GNU Autoconf 2.65
Copyright (C) 2009 Free Software Foundation, Inc. Copyright (C) 2009 Free Software Foundation, Inc.
This configure script is free software; the Free Software Foundation This configure script is free software; the Free Software Foundation
@ -1492,7 +1495,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1 ac_retval=1
fi fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval as_fn_set_status $ac_retval
} # ac_fn_cxx_try_compile } # ac_fn_cxx_try_compile
@ -1530,7 +1533,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1 ac_retval=1
fi fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval as_fn_set_status $ac_retval
} # ac_fn_c_try_compile } # ac_fn_c_try_compile
@ -1572,7 +1575,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
fi fi
rm -rf conftest.dSYM conftest_ipa8_conftest.oo rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval as_fn_set_status $ac_retval
} # ac_fn_c_try_run } # ac_fn_c_try_run
@ -1750,7 +1753,7 @@ rm -f conftest.val
fi fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval as_fn_set_status $ac_retval
} # ac_fn_c_compute_int } # ac_fn_c_compute_int
@ -1787,7 +1790,7 @@ sed 's/^/| /' conftest.$ac_ext >&5
ac_retval=1 ac_retval=1
fi fi
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval as_fn_set_status $ac_retval
} # ac_fn_c_try_cpp } # ac_fn_c_try_cpp
@ -1864,7 +1867,7 @@ fi
# left behind by Apple's compiler. We do this before executing the actions. # left behind by Apple's compiler. We do this before executing the actions.
rm -rf conftest.dSYM conftest_ipa8_conftest.oo rm -rf conftest.dSYM conftest_ipa8_conftest.oo
eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;} eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
return $ac_retval as_fn_set_status $ac_retval
} # ac_fn_c_try_link } # ac_fn_c_try_link
@ -1965,7 +1968,7 @@ This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake. running configure, to aid debugging if configure makes a mistake.
It was created by lnav $as_me 0.4.0, which was It was created by lnav $as_me 0.4.0, which was
generated by GNU Autoconf 2.64. Invocation command line was generated by GNU Autoconf 2.65. Invocation command line was
$ $0 $@ $ $0 $@
@ -2218,7 +2221,7 @@ fi
for ac_site_file in "$ac_site_file1" "$ac_site_file2" for ac_site_file in "$ac_site_file1" "$ac_site_file2"
do do
test "x$ac_site_file" = xNONE && continue test "x$ac_site_file" = xNONE && continue
if test -r "$ac_site_file"; then if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
$as_echo "$as_me: loading site script $ac_site_file" >&6;} $as_echo "$as_me: loading site script $ac_site_file" >&6;}
sed 's/^/| /' "$ac_site_file" >&5 sed 's/^/| /' "$ac_site_file" >&5
@ -2227,9 +2230,9 @@ $as_echo "$as_me: loading site script $ac_site_file" >&6;}
done done
if test -r "$cache_file"; then if test -r "$cache_file"; then
# Some versions of bash will fail to source /dev/null (special # Some versions of bash will fail to source /dev/null (special files
# files actually), so we avoid doing that. # actually), so we avoid doing that. DJGPP emulates it as a regular file.
if test -f "$cache_file"; then if test /dev/null != "$cache_file" && test -f "$cache_file"; then
{ $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
$as_echo "$as_me: loading cache $cache_file" >&6;} $as_echo "$as_me: loading cache $cache_file" >&6;}
case $cache_file in case $cache_file in
@ -2649,6 +2652,7 @@ IFS=$as_save_IFS
fi fi
test -d ./--version && rmdir ./--version
if test "${ac_cv_path_mkdir+set}" = set; then if test "${ac_cv_path_mkdir+set}" = set; then
MKDIR_P="$ac_cv_path_mkdir -p" MKDIR_P="$ac_cv_path_mkdir -p"
else else
@ -2656,7 +2660,6 @@ fi
# value for MKDIR_P within a source directory, because that will # value for MKDIR_P within a source directory, because that will
# break other packages using the cache if that directory is # break other packages using the cache if that directory is
# removed, or if the value is a relative name. # removed, or if the value is a relative name.
test -d ./--version && rmdir ./--version
MKDIR_P="$ac_install_sh -d" MKDIR_P="$ac_install_sh -d"
fi fi
fi fi
@ -3031,32 +3034,30 @@ $as_echo "$ac_try_echo"; } >&5
... rest of stderr output deleted ... ... rest of stderr output deleted ...
10q' conftest.err >conftest.er1 10q' conftest.err >conftest.er1
cat conftest.er1 >&5 cat conftest.er1 >&5
rm -f conftest.er1 conftest.err
fi fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } test $ac_status = 0; }
done done
cat confdefs.h - <<_ACEOF >conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */ /* end confdefs.h. */
#include <stdio.h>
int int
main () main ()
{ {
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
; ;
return 0; return 0;
} }
_ACEOF _ACEOF
ac_clean_files_save=$ac_clean_files ac_clean_files_save=$ac_clean_files
ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out conftest.out" ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
# Try to create an executable without -o first, disregard a.out. # Try to create an executable without -o first, disregard a.out.
# It will help us diagnose broken compilers, and finding out an intuition # It will help us diagnose broken compilers, and finding out an intuition
# of exeext. # of exeext.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
$as_echo_n "checking for C++ compiler default output file name... " >&6; } $as_echo_n "checking whether the C++ compiler works... " >&6; }
ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
# The possible output files: # The possible output files:
@ -3118,10 +3119,10 @@ test "$ac_cv_exeext" = no && ac_cv_exeext=
else else
ac_file='' ac_file=''
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
if test -z "$ac_file"; then : if test -z "$ac_file"; then :
$as_echo "$as_me: failed program was:" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
$as_echo "no" >&6; }
$as_echo "$as_me: failed program was:" >&5
sed 's/^/| /' conftest.$ac_ext >&5 sed 's/^/| /' conftest.$ac_ext >&5
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
@ -3129,51 +3130,18 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
{ as_fn_set_status 77 { as_fn_set_status 77
as_fn_error "C++ compiler cannot create executables as_fn_error "C++ compiler cannot create executables
See \`config.log' for more details." "$LINENO" 5; }; } See \`config.log' for more details." "$LINENO" 5; }; }
else
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler default output file name" >&5
$as_echo_n "checking for C++ compiler default output file name... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
$as_echo "$ac_file" >&6; }
ac_exeext=$ac_cv_exeext ac_exeext=$ac_cv_exeext
# Check that the compiler produces executables we can run. If not, either rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C++ compiler works" >&5
$as_echo_n "checking whether the C++ compiler works... " >&6; }
# If not cross compiling, check that we can run a simple program.
if test "$cross_compiling" != yes; then
if { ac_try='./$ac_file'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot run C++ compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
$as_echo "yes" >&6; }
rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out conftest.out
ac_clean_files=$ac_clean_files_save ac_clean_files=$ac_clean_files_save
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
$as_echo_n "checking for suffix of executables... " >&6; } $as_echo_n "checking for suffix of executables... " >&6; }
if { { ac_try="$ac_link" if { { ac_try="$ac_link"
@ -3206,13 +3174,72 @@ $as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot compute suffix of executables: cannot compile and link as_fn_error "cannot compute suffix of executables: cannot compile and link
See \`config.log' for more details." "$LINENO" 5; } See \`config.log' for more details." "$LINENO" 5; }
fi fi
rm -f conftest$ac_cv_exeext rm -f conftest conftest$ac_cv_exeext
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
$as_echo "$ac_cv_exeext" >&6; } $as_echo "$ac_cv_exeext" >&6; }
rm -f conftest.$ac_ext rm -f conftest.$ac_ext
EXEEXT=$ac_cv_exeext EXEEXT=$ac_cv_exeext
ac_exeext=$EXEEXT ac_exeext=$EXEEXT
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
#include <stdio.h>
int
main ()
{
FILE *f = fopen ("conftest.out", "w");
return ferror (f) || fclose (f) != 0;
;
return 0;
}
_ACEOF
ac_clean_files="$ac_clean_files conftest.out"
# Check that the compiler produces executables we can run. If not, either
# the compiler is broken, or we cross compile.
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
$as_echo_n "checking whether we are cross compiling... " >&6; }
if test "$cross_compiling" != yes; then
{ { ac_try="$ac_link"
case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_link") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }
if { ac_try='./conftest$ac_cv_exeext'
{ { case "(($ac_try" in
*\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
*) ac_try_echo=$ac_try;;
esac
eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
$as_echo "$ac_try_echo"; } >&5
(eval "$ac_try") 2>&5
ac_status=$?
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; }; then
cross_compiling=no
else
if test "$cross_compiling" = maybe; then
cross_compiling=yes
else
{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
as_fn_error "cannot run C++ compiled programs.
If you meant to cross compile, use \`--host'.
See \`config.log' for more details." "$LINENO" 5; }
fi
fi
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
$as_echo "$cross_compiling" >&6; }
rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
ac_clean_files=$ac_clean_files_save
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
$as_echo_n "checking for suffix of object files... " >&6; } $as_echo_n "checking for suffix of object files... " >&6; }
if test "${ac_cv_objext+set}" = set; then : if test "${ac_cv_objext+set}" = set; then :
@ -4066,8 +4093,8 @@ $as_echo "$ac_try_echo"; } >&5
... rest of stderr output deleted ... ... rest of stderr output deleted ...
10q' conftest.err >conftest.er1 10q' conftest.err >conftest.er1
cat conftest.er1 >&5 cat conftest.er1 >&5
rm -f conftest.er1 conftest.err
fi fi
rm -f conftest.er1 conftest.err
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; } test $ac_status = 0; }
done done
@ -5058,6 +5085,62 @@ else
as_fn_error "libz required to build" "$LINENO" 5 as_fn_error "libz required to build" "$LINENO" 5
fi fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing BZ2_bzopen" >&5
$as_echo_n "checking for library containing BZ2_bzopen... " >&6; }
if test "${ac_cv_search_BZ2_bzopen+set}" = set; then :
$as_echo_n "(cached) " >&6
else
ac_func_search_save_LIBS=$LIBS
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
/* Override any GCC internal prototype to avoid an error.
Use char because int might match the return type of a GCC
builtin and then its argument prototype would still apply. */
#ifdef __cplusplus
extern "C"
#endif
char BZ2_bzopen ();
int
main ()
{
return BZ2_bzopen ();
;
return 0;
}
_ACEOF
for ac_lib in '' bz2; do
if test -z "$ac_lib"; then
ac_res="none required"
else
ac_res=-l$ac_lib
LIBS="-l$ac_lib $ac_func_search_save_LIBS"
fi
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_search_BZ2_bzopen=$ac_res
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext
if test "${ac_cv_search_BZ2_bzopen+set}" = set; then :
break
fi
done
if test "${ac_cv_search_BZ2_bzopen+set}" = set; then :
else
ac_cv_search_BZ2_bzopen=no
fi
rm conftest.$ac_ext
LIBS=$ac_func_search_save_LIBS
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_BZ2_bzopen" >&5
$as_echo "$ac_cv_search_BZ2_bzopen" >&6; }
ac_res=$ac_cv_search_BZ2_bzopen
if test "$ac_res" != no; then :
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlopen" >&5
$as_echo_n "checking for library containing dlopen... " >&6; } $as_echo_n "checking for library containing dlopen... " >&6; }
if test "${ac_cv_search_dlopen+set}" = set; then : if test "${ac_cv_search_dlopen+set}" = set; then :
@ -5114,7 +5197,7 @@ if test "$ac_res" != no; then :
fi fi
for ac_header in pty.h util.h zlib.h libutil.h for ac_header in pty.h util.h zlib.h bzlib.h libutil.h
do : do :
as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
@ -6182,7 +6265,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# values after options handling. # values after options handling.
ac_log=" ac_log="
This file was extended by lnav $as_me 0.4.0, which was This file was extended by lnav $as_me 0.4.0, which was
generated by GNU Autoconf 2.64. Invocation command line was generated by GNU Autoconf 2.65. Invocation command line was
CONFIG_FILES = $CONFIG_FILES CONFIG_FILES = $CONFIG_FILES
CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_HEADERS = $CONFIG_HEADERS
@ -6222,6 +6305,7 @@ Usage: $0 [OPTION]... [TAG]...
-h, --help print this help, then exit -h, --help print this help, then exit
-V, --version print version number and configuration settings, then exit -V, --version print version number and configuration settings, then exit
--config print configuration, then exit
-q, --quiet, --silent -q, --quiet, --silent
do not print progress messages do not print progress messages
-d, --debug don't remove temporary files -d, --debug don't remove temporary files
@ -6244,10 +6328,11 @@ Report bugs to <timothyshanestack@gmail.com>."
_ACEOF _ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\ ac_cs_version="\\
lnav config.status 0.4.0 lnav config.status 0.4.0
configured by $0, generated by GNU Autoconf 2.64, configured by $0, generated by GNU Autoconf 2.65,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" with options \\"\$ac_cs_config\\"
Copyright (C) 2009 Free Software Foundation, Inc. Copyright (C) 2009 Free Software Foundation, Inc.
This config.status script is free software; the Free Software Foundation This config.status script is free software; the Free Software Foundation
@ -6285,6 +6370,8 @@ do
ac_cs_recheck=: ;; ac_cs_recheck=: ;;
--version | --versio | --versi | --vers | --ver | --ve | --v | -V ) --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
$as_echo "$ac_cs_version"; exit ;; $as_echo "$ac_cs_version"; exit ;;
--config | --confi | --conf | --con | --co | --c )
$as_echo "$ac_cs_config"; exit ;;
--debug | --debu | --deb | --de | --d | -d ) --debug | --debu | --deb | --de | --d | -d )
debug=: ;; debug=: ;;
--file | --fil | --fi | --f ) --file | --fil | --fi | --f )
@ -6475,7 +6562,7 @@ s/'"$ac_delim"'$//
t delim t delim
:nl :nl
h h
s/\(.\{148\}\).*/\1/ s/\(.\{148\}\)..*/\1/
t more1 t more1
s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
p p
@ -6489,7 +6576,7 @@ s/.\{148\}//
t nl t nl
:delim :delim
h h
s/\(.\{148\}\).*/\1/ s/\(.\{148\}\)..*/\1/
t more2 t more2
s/["\\]/\\&/g; s/^/"/; s/$/"/ s/["\\]/\\&/g; s/^/"/; s/$/"/
p p

@ -75,8 +75,9 @@ AC_SUBST(OBJ_FORMAT)
AC_SEARCH_LIBS(openpty, util) AC_SEARCH_LIBS(openpty, util)
AC_SEARCH_LIBS(gzseek, z, [], [AC_MSG_ERROR([libz required to build])]) AC_SEARCH_LIBS(gzseek, z, [], [AC_MSG_ERROR([libz required to build])])
AC_SEARCH_LIBS(BZ2_bzopen, bz2)
AC_SEARCH_LIBS(dlopen, dl) AC_SEARCH_LIBS(dlopen, dl)
AC_CHECK_HEADERS(pty.h util.h zlib.h libutil.h) AC_CHECK_HEADERS(pty.h util.h zlib.h bzlib.h libutil.h)
MP_WITH_CURSES() MP_WITH_CURSES()
AX_PATH_LIB_PCRE([], [AC_MSG_ERROR([pcre required to build])]) AX_PATH_LIB_PCRE([], [AC_MSG_ERROR([pcre required to build])])

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.11 from Makefile.am. # Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,

@ -1,5 +1,8 @@
/* src/config.h.in. Generated from configure.in by autoheader. */ /* src/config.h.in. Generated from configure.in by autoheader. */
/* Define to 1 if you have the <bzlib.h> header file. */
#undef HAVE_BZLIB_H
/* curses library */ /* curses library */
#undef HAVE_CURSES_H #undef HAVE_CURSES_H

@ -19,6 +19,7 @@ using namespace std;
static const size_t DEFAULT_LINE_BUFFER_SIZE = 256 * 1024; static const size_t DEFAULT_LINE_BUFFER_SIZE = 256 * 1024;
static const size_t MAX_LINE_BUFFER_SIZE = 2 * DEFAULT_LINE_BUFFER_SIZE; static const size_t MAX_LINE_BUFFER_SIZE = 2 * DEFAULT_LINE_BUFFER_SIZE;
static const size_t DEFAULT_INCREMENT = 1024; static const size_t DEFAULT_INCREMENT = 1024;
static const size_t MAX_COMPRESSED_BUFFER_SIZE = 32 * 1024 * 1024;
/* /*
* XXX REMOVE ME * XXX REMOVE ME
@ -74,6 +75,7 @@ private:
line_buffer::line_buffer() line_buffer::line_buffer()
: lb_gz_file(NULL), : lb_gz_file(NULL),
lb_bz_file(false),
lb_file_size((size_t) - 1), lb_file_size((size_t) - 1),
lb_file_offset(0), lb_file_offset(0),
lb_buffer_size(0), lb_buffer_size(0),
@ -104,6 +106,10 @@ throw (error)
this->lb_gz_file = NULL; this->lb_gz_file = NULL;
} }
if (this->lb_bz_file) {
this->lb_bz_file = false;
}
if (fd != -1) { if (fd != -1) {
/* Sync the fd's offset with the object. */ /* Sync the fd's offset with the object. */
newoff = lseek(fd, 0, SEEK_CUR); newoff = lseek(fd, 0, SEEK_CUR);
@ -130,6 +136,15 @@ throw (error)
} }
this->lb_gz_offset = lseek(this->lb_fd, 0, SEEK_CUR); this->lb_gz_offset = lseek(this->lb_fd, 0, SEEK_CUR);
} }
else if (gz_id[0] == 'B' && gz_id[1] == 'Z') {
lseek(fd, 0, SEEK_SET);
this->lb_bz_file = true;
/*
* Loading data from a bzip2 file is pretty slow, so we try
* to keep as much in memory as possible.
*/
this->resize_buffer(MAX_COMPRESSED_BUFFER_SIZE);
}
} }
this->lb_seekable = true; this->lb_seekable = true;
} }
@ -141,6 +156,25 @@ throw (error)
assert(this->invariant()); assert(this->invariant());
} }
void line_buffer::resize_buffer(size_t new_max)
throw (error)
{
char *tmp, *old;
/* Still need more space, try a realloc. */
old = this->lb_buffer.release();
tmp = (char *)realloc(old, new_max);
if (tmp != NULL) {
this->lb_buffer = tmp;
this->lb_buffer_max = new_max;
}
else {
this->lb_buffer = old;
throw error(ENOMEM);
}
}
void line_buffer::ensure_available(off_t start, size_t max_length) void line_buffer::ensure_available(off_t start, size_t max_length)
throw (error) throw (error)
{ {
@ -152,13 +186,24 @@ throw (error)
} }
if (start < this->lb_file_offset || if (start < this->lb_file_offset ||
start >= (off_t)(this->lb_file_offset + this->lb_buffer_size)) { start > (off_t)(this->lb_file_offset + this->lb_buffer_size)) {
/* /*
* The request is outside the cached range, need to reload the * The request is outside the cached range, need to reload the
* whole thing. * whole thing.
*/ */
prefill = 0; prefill = 0;
this->lb_file_offset = start; if ((this->lb_file_size != (size_t)-1) &&
(start + this->lb_buffer_max > this->lb_file_size)) {
/*
* If the start is near the end of the file, move the offset back a
* bit so we can get more of the file in the cache.
*/
this->lb_file_offset = this->lb_file_size -
std::min(this->lb_file_size, this->lb_buffer_max);
}
else {
this->lb_file_offset = start;
}
this->lb_buffer_size = 0; this->lb_buffer_size = 0;
} }
else { else {
@ -184,22 +229,7 @@ throw (error)
available = this->lb_buffer_max - this->lb_buffer_size; available = this->lb_buffer_max - this->lb_buffer_size;
if (max_length > available) { if (max_length > available) {
char *tmp, *old; this->resize_buffer(this->lb_buffer_max + DEFAULT_LINE_BUFFER_SIZE);
/* Still need more space, try a realloc. */
old = this->lb_buffer.release();
tmp = (char *)realloc(old,
this->lb_buffer_max +
DEFAULT_LINE_BUFFER_SIZE);
if (tmp != NULL) {
this->lb_buffer = tmp;
this->lb_buffer_max += DEFAULT_LINE_BUFFER_SIZE;
}
else {
this->lb_buffer = old;
throw error(ENOMEM);
}
} }
} }
} }
@ -221,16 +251,64 @@ throw (error)
/* ... read in the new data. */ /* ... read in the new data. */
if (this->lb_gz_file) { if (this->lb_gz_file) {
lock_hack::guard guard; if (this->lb_file_size != (size_t)-1 &&
this->in_range(start) &&
lseek(this->lb_fd, this->lb_gz_offset, SEEK_SET); this->in_range(this->lb_file_size - 1)) {
gzseek(this->lb_gz_file, rc = 0;
this->lb_file_offset + this->lb_buffer_size, }
SEEK_SET); else {
rc = gzread(this->lb_gz_file, lock_hack::guard guard;
&this->lb_buffer[this->lb_buffer_size],
this->lb_buffer_max - this->lb_buffer_size); lseek(this->lb_fd, this->lb_gz_offset, SEEK_SET);
this->lb_gz_offset = lseek(this->lb_fd, 0, SEEK_CUR); gzseek(this->lb_gz_file,
this->lb_file_offset + this->lb_buffer_size,
SEEK_SET);
rc = gzread(this->lb_gz_file,
&this->lb_buffer[this->lb_buffer_size],
this->lb_buffer_max - this->lb_buffer_size);
this->lb_gz_offset = lseek(this->lb_fd, 0, SEEK_CUR);
}
}
else if (this->lb_bz_file) {
if (this->lb_file_size != (size_t)-1 &&
((start >= this->lb_file_size) ||
(this->in_range(start) &&
this->in_range(this->lb_file_size - 1)))) {
rc = 0;
}
else {
lock_hack::guard guard;
char scratch[32 * 1024];
BZFILE *bz_file;
off_t seek_to;
/*
* Unfortunately, there is no bzseek, so we need to reopen the
* file every time we want to do a read.
*/
lseek(this->lb_fd, 0, SEEK_SET);
if ((bz_file = BZ2_bzdopen(dup(this->lb_fd), "r")) == NULL) {
if (errno == 0)
throw bad_alloc();
else
throw error(errno);
}
seek_to = this->lb_file_offset + this->lb_buffer_size;
while (seek_to > 0) {
int count;
count = BZ2_bzread(bz_file,
scratch,
std::min((unsigned long)seek_to,
sizeof(scratch)));
seek_to -= count;
}
rc = BZ2_bzread(bz_file,
&this->lb_buffer[this->lb_buffer_size],
this->lb_buffer_max - this->lb_buffer_size);
BZ2_bzclose(bz_file);
}
} }
else if (this->lb_seekable) { else if (this->lb_seekable) {
rc = pread(this->lb_fd, rc = pread(this->lb_fd,
@ -249,6 +327,16 @@ throw (error)
if (start < (off_t) this->lb_file_size) { if (start < (off_t) this->lb_file_size) {
retval = true; retval = true;
} }
if (this->lb_gz_file || this->lb_bz_file) {
/*
* For compressed files, increase the buffer size so we don't
* have to spend as much time uncompressing the data.
*/
this->resize_buffer(std::min(this->lb_file_size +
DEFAULT_INCREMENT,
MAX_COMPRESSED_BUFFER_SIZE));
}
break; break;
case - 1: case - 1:
@ -290,8 +378,8 @@ throw (error)
line_start = this->get_range(offset, len_out); line_start = this->get_range(offset, len_out);
/* ... look for the end-of-line or end-of-file. */ /* ... look for the end-of-line or end-of-file. */
if (((lf = (char *)memchr(line_start, delim, len_out)) != NULL) || if (((lf = (char *)memchr(line_start, delim, len_out)) != NULL) ||
((request_size >= (MAX_LINE_BUFFER_SIZE - DEFAULT_INCREMENT)) && (request_size >= (MAX_LINE_BUFFER_SIZE - DEFAULT_INCREMENT)) ||
(offset + len_out) == this->lb_file_size)) { (((offset + len_out) == this->lb_file_size) && len_out > 0)) {
if (lf != NULL) { if (lf != NULL) {
len_out = lf - line_start; len_out = lf - line_start;
offset += 1; /* Skip the delimiter. */ offset += 1; /* Skip the delimiter. */

@ -10,6 +10,7 @@
#include <sys/types.h> #include <sys/types.h>
#include <unistd.h> #include <unistd.h>
#include <zlib.h> #include <zlib.h>
#include <bzlib.h>
#include <exception> #include <exception>
@ -120,6 +121,8 @@ private:
off < (int)(this->lb_file_offset + this->lb_buffer_size); off < (int)(this->lb_file_offset + this->lb_buffer_size);
}; };
void resize_buffer(size_t new_max) throw (error);
/** /**
* Ensure there is enough room in the buffer to cache a range of data from * Ensure there is enough room in the buffer to cache a range of data from
* the file. First, this method will check to see if there is enough room * the file. First, this method will check to see if there is enough room
@ -169,6 +172,7 @@ private:
auto_fd lb_fd; /*< The file to read data from. */ auto_fd lb_fd; /*< The file to read data from. */
gzFile lb_gz_file; gzFile lb_gz_file;
bool lb_bz_file;
off_t lb_gz_offset; off_t lb_gz_offset;
auto_mem<char> lb_buffer; /*< The internal buffer where data is cached */ auto_mem<char> lb_buffer; /*< The internal buffer where data is cached */

@ -396,7 +396,7 @@ static void rebuild_indexes(bool force)
text_view.get_dimensions(height, width); text_view.get_dimensions(height, width);
old_bottom = text_view.get_top() + height; old_bottom = text_view.get_top() + height;
scroll_down = (size_t)old_bottom > tss->text_line_count(); scroll_down = (size_t)old_bottom > tss->text_line_count();
for (iter = tss->tss_files.begin(); for (iter = tss->tss_files.begin();
iter != tss->tss_files.end();) { iter != tss->tss_files.end();) {
(*iter)->rebuild_index(&obs); (*iter)->rebuild_index(&obs);
@ -415,8 +415,8 @@ static void rebuild_indexes(bool force)
text_view.reload_data(); text_view.reload_data();
new_count = tss->text_line_count(); new_count = tss->text_line_count();
if (scroll_down && new_count >= (size_t)height) { if (scroll_down && new_count >= old_bottom) {
text_view.set_top(vis_line_t(new_count - height + 1)); text_view.set_top(vis_line_t(new_count - height + 1));
} }
} }
@ -437,7 +437,7 @@ static void rebuild_indexes(bool force)
log_view.reload_data(); log_view.reload_data();
if (scroll_down && new_count >= (size_t)height) { if (scroll_down && new_count >= old_bottom) {
log_view.set_top(vis_line_t(new_count - height + 1)); log_view.set_top(vis_line_t(new_count - height + 1));
} }
else if (!scroll_down && force) { else if (!scroll_down && force) {
@ -2202,6 +2202,7 @@ static void looper(void)
lnav_data.ld_log_source.text_line_count() == 0 && lnav_data.ld_log_source.text_line_count() == 0 &&
lnav_data.ld_text_source.text_line_count() > 0) { lnav_data.ld_text_source.text_line_count() > 0) {
toggle_view(&lnav_data.ld_views[LNV_TEXT]); toggle_view(&lnav_data.ld_views[LNV_TEXT]);
lnav_data.ld_views[LNV_TEXT].set_top(vis_line_t(0));
} }
initial_build = true; initial_build = true;
} }
@ -2286,7 +2287,7 @@ public:
alt_regex("([\\w\\.-]+) [\\w\\.-]+ ([\\w\\.-]+) " alt_regex("([\\w\\.-]+) [\\w\\.-]+ ([\\w\\.-]+) "
"\\[[^\\]]+\\] \"(\\w+) ([^ \\?]+)(\\?[^ ]+)? " "\\[[^\\]]+\\] \"(\\w+) ([^ \\?]+)(\\?[^ ]+)? "
"([\\w/\\.]+)\" (\\d+) " "([\\w/\\.]+)\" (\\d+) "
"(\\d+|-) \"([^\"]+)\" \"([^\"]+)\".*") { "(\\d+|-)(?: \"([^\"]+)\" \"([^\"]+)\")?.*") {
}; };
void get_columns(vector<vtab_column> &cols) { void get_columns(vector<vtab_column> &cols) {

@ -22,6 +22,7 @@ public:
TSF_TIME, TSF_TIME,
TSF_WARNINGS, TSF_WARNINGS,
TSF_ERRORS, TSF_ERRORS,
TSF_FORMAT,
TSF_FILENAME, TSF_FILENAME,
TSF__MAX TSF__MAX
@ -34,6 +35,8 @@ public:
this->tss_fields[TSF_WARNINGS].set_width(10); this->tss_fields[TSF_WARNINGS].set_width(10);
this->tss_fields[TSF_ERRORS].set_width(10); this->tss_fields[TSF_ERRORS].set_width(10);
this->tss_fields[TSF_ERRORS].set_role(view_colors::VCR_ALERT_STATUS); this->tss_fields[TSF_ERRORS].set_role(view_colors::VCR_ALERT_STATUS);
this->tss_fields[TSF_FORMAT].set_width(15);
this->tss_fields[TSF_FORMAT].right_justify(true);
this->tss_fields[TSF_FILENAME].set_width(35); // XXX this->tss_fields[TSF_FILENAME].set_width(35); // XXX
this->tss_fields[TSF_FILENAME].right_justify(true); this->tss_fields[TSF_FILENAME].right_justify(true);
}; };
@ -92,7 +95,8 @@ public:
void update_filename(listview_curses *lc) { void update_filename(listview_curses *lc) {
if (lc->get_inner_height() > 0) { if (lc->get_inner_height() > 0) {
status_field &sf = this->tss_fields[TSF_FILENAME]; status_field &sf_format = this->tss_fields[TSF_FORMAT];
status_field &sf_filename = this->tss_fields[TSF_FILENAME];
struct line_range lr = { 0, -1 }; struct line_range lr = { 0, -1 };
attrs_map_t::iterator iter; attrs_map_t::iterator iter;
string_attrs_t sa; string_attrs_t sa;
@ -104,11 +108,17 @@ public:
iter = sa[lr].find("file"); iter = sa[lr].find("file");
if (iter != sa[lr].end()) { if (iter != sa[lr].end()) {
logfile *lf = (logfile *)iter->second.sa_ptr; logfile *lf = (logfile *)iter->second.sa_ptr;
sf.set_value(lf->get_filename()); if (lf->get_format())
sf_format.set_value("(%s)",
lf->get_format()->get_name().c_str());
else
sf_format.set_value("(unknown)");
sf_filename.set_value(lf->get_filename());
} }
else { else {
sf.clear(); sf_format.set_value("(unknown)");
sf_filename.clear();
} }
} }
}; };

@ -1,4 +1,4 @@
# Makefile.in generated by automake 1.11 from Makefile.am. # Makefile.in generated by automake 1.11.1 from Makefile.am.
# @configure_input@ # @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, # Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,

Loading…
Cancel
Save