[Forensics-changes] [ext3grep] 05/14: Imported Upstream version 0.9.0

Joao Eriberto Mota Filho eriberto at moszumanska.debian.org
Sun Mar 8 06:07:32 UTC 2015


This is an automated email from the git hooks/post-receive script.

eriberto pushed a commit to branch debian
in repository ext3grep.

commit 9fcb3906c69e2c14d92e7528599747bf45f6806e
Author: Joao Eriberto Mota Filho <eriberto at debian.org>
Date:   Sun Mar 8 03:06:46 2015 -0300

    Imported Upstream version 0.9.0
---
 configure                 | 1195 +++++++++++++++++++++++++++------------------
 configure.ac              |    5 +-
 debian/changelog          |   13 -
 debian/compat             |    1 -
 debian/control            |   19 -
 debian/copyright          |   62 ---
 debian/docs               |    1 -
 debian/manpage/ext3grep.8 |  177 -------
 debian/manpages           |    1 -
 debian/rules              |   75 ---
 debian/watch              |    2 -
 src/commandline.cc        |   11 +-
 src/commandline.h         |    3 +-
 src/ext3grep.cc           |    3 +-
 src/init_consts.cc        |   10 +-
 15 files changed, 735 insertions(+), 843 deletions(-)

diff --git a/configure b/configure
index 4f9b016..975719d 100755
--- a/configure
+++ b/configure
@@ -1,7 +1,7 @@
 #! /bin/sh
 # From configure.ac Revision: 7 .
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for ext3grep 0.8.0.
+# Generated by GNU Autoconf 2.61 for ext3grep 0.9.0.
 #
 # Report bugs to <carlo at alinoe.com>.
 #
@@ -575,8 +575,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
 # Identity of this package.
 PACKAGE_NAME='ext3grep'
 PACKAGE_TARNAME='ext3grep'
-PACKAGE_VERSION='0.8.0'
-PACKAGE_STRING='ext3grep 0.8.0'
+PACKAGE_VERSION='0.9.0'
+PACKAGE_STRING='ext3grep 0.9.0'
 PACKAGE_BUGREPORT='carlo at alinoe.com'
 
 ac_unique_file="src/ext3grep.cc"
@@ -702,6 +702,9 @@ CXXDEPMODE
 am__fastdepCXX_TRUE
 am__fastdepCXX_FALSE
 CXXCPP
+CPP
+GREP
+EGREP
 build
 build_cpu
 build_vendor
@@ -715,9 +718,6 @@ CWD_LIBS
 USE_LIBCWD
 DOXYGEN_CWDEBUG
 DOXYGEN_DEBUG
-CPP
-GREP
-EGREP
 CW_DEBUG_FLAGS
 CW_WARNING_FLAGS
 CW_OPTIMISE_FLAGS
@@ -1254,7 +1254,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures ext3grep 0.8.0 to adapt to many kinds of systems.
+\`configure' configures ext3grep 0.9.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1324,7 +1324,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of ext3grep 0.8.0:";;
+     short | recursive ) echo "Configuration of ext3grep 0.9.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1420,7 +1420,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-ext3grep configure 0.8.0
+ext3grep configure 0.9.0
 generated by GNU Autoconf 2.61
 
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1434,7 +1434,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by ext3grep $as_me 0.8.0, which was
+It was created by ext3grep $as_me 0.9.0, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   $ $0 $@
@@ -2131,7 +2131,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='ext3grep'
- VERSION='0.8.0'
+ VERSION='0.9.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -4106,53 +4106,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
 ac_compiler_gnu=$ac_cv_c_compiler_gnu
 
 
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
-echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
-   { (exit 1); exit 1; }; }
-
-{ echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
-if test "${ac_cv_build+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
-   { (exit 1); exit 1; }; }
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
-echo "$as_me: error: invalid value of canonical build" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-
 
 ac_ext=c
 ac_cpp='$CPP $CPPFLAGS'
@@ -4547,213 +4500,738 @@ echo "${ECHO_T}$ac_cv_path_EGREP" >&6; }
  EGREP="$ac_cv_path_EGREP"
 
 
-
-
-
-
-
-
-# Add args to configure
-# Check whether --enable-debug was given.
-if test "${enable_debug+set}" = set; then
-  enableval=$enable_debug; cw_config_debug=$enableval
-else
-  cw_config_debug=
-fi
-
-# Check whether --enable-libcwd was given.
-if test "${enable_libcwd+set}" = set; then
-  enableval=$enable_libcwd; cw_config_libcwd=$enableval
-else
-  cw_config_libcwd=
-fi
-
-# Check whether --enable-optimize was given.
-if test "${enable_optimize+set}" = set; then
-  enableval=$enable_optimize; cw_config_optimize=$enableval
-else
-  cw_config_optimize=
-fi
-
-# Check whether --enable-profile was given.
-if test "${enable_profile+set}" = set; then
-  enableval=$enable_profile; cw_config_profile=$enableval
-else
-  cw_config_profile=
-fi
-
-
-# Strip possible -g and -O commandline options from CXXFLAGS.
-CW_DEBUG_FLAGS=
-CW_OPTIMISE_FLAGS=
-CW_WARNING_FLAGS=
-CW_STRIPPED_CXXFLAGS=
-for arg in $CXXFLAGS; do
-case "$arg" in # (
--g*)
-        CW_DEBUG_FLAGS="$CW_DEBUG_FLAGS $arg"
-        ;; # (
--O*)
-        CW_OPTIMISE_FLAGS="$CW_OPTIMISE_FLAGS $arg"
-        ;; # (
--W*)	CW_WARNING_FLAGS="$CW_WARNING_FLAGS $arg"
-	;; # (
-*)
-        CW_STRIPPED_CXXFLAGS="$CW_STRIPPED_CXXFLAGS $arg"
-        ;;
-esac
-done
-
-# Set various defaults, depending on other options.
-
-if test x"$cw_config_optimize" = x"no"; then
-    CW_OPTIMISE_FLAGS=""        # Explicit --disable-optimize, strip optimization even from CXXFLAGS environment variable.
-fi
-
-if test x"$enable_maintainer_mode" = x"yes"; then
-  if test -z "$cw_config_optimize"; then
-    cw_config_optimize=no          # --enable-maintainer-mode, set default to --disable-optimize.
-  fi
-  if test -z "$cw_config_debug"; then
-    cw_config_debug=yes            # --enable-maintainer-mode, set default to --enable-debug.
-  fi
-fi
-
-if test x"$cw_config_debug" = x"yes"; then
-  if test -z "$cw_config_optimize"; then
-    cw_config_optimize=no          # --enable-debug and no --enable-optimize, set default to --disable-optimize.
-  fi
-else
-  if test -z "$cw_config_libcwd"; then
-    cw_config_libcwd=no            # No --enable-debug and no --enable-libcwd, set default to --disable-libcwd.
-  fi
-fi
-
-{ echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
-if test "${ac_cv_host+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
-echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
-   { (exit 1); exit 1; }; }
-fi
-
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
-echo "$as_me: error: invalid value of canonical host" >&2;}
-   { (exit 1); exit 1; }; };;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-case "$host" in
-  *freebsd*) CW_DEFAULT_DEBUG_FLAGS=-ggdb ;;   *) CW_DEFAULT_DEBUG_FLAGS=-g ;;
-esac
-
-# Handle cw_config_libcwd.
-# Check if we have libcwd, $cw_config_libcwd can be "yes", "no" or "".
-if test -z "$cw_used_libcwd"; then
-cw_wanted=$cw_config_libcwd
-if test x"$cw_wanted" = x"no"; then
-  cw_used_libcwd=no
-else
-  cw_libname=cwd
-  test "no" = "yes" && cw_libname=cwd_r
-  { echo "$as_me:$LINENO: checking if libcwd is available" >&5
-echo $ECHO_N "checking if libcwd is available... $ECHO_C" >&6; }
-if test "${cw_cv_lib_libcwd+set}" = set; then
+{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
+echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then
   echo $ECHO_N "(cached) $ECHO_C" >&6
 else
-    # Check if we have libcwd
-
-  ac_ext=cpp
-ac_cpp='$CXXCPP $CPPFLAGS'
-ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
-
-  cw_save_LIBS="$LIBS"
-  LIBS="$LIBS `pkg-config --libs lib$cw_libname`"
   cat >conftest.$ac_ext <<_ACEOF
 /* confdefs.h.  */
 _ACEOF
 cat confdefs.h >>conftest.$ac_ext
 cat >>conftest.$ac_ext <<_ACEOF
 /* end confdefs.h.  */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.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 __libcwd_version ();
 int
 main ()
 {
-return __libcwd_version ();
+
   ;
   return 0;
 }
 _ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (ac_try="$ac_link"
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
 case "(($ac_try" in
   *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
   *) ac_try_echo=$ac_try;;
 esac
 eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>conftest.er1
+  (eval "$ac_compile") 2>conftest.er1
   ac_status=$?
   grep -v '^ *+' conftest.er1 >conftest.err
   rm -f conftest.er1
   cat conftest.err >&5
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); } && {
-	 test -z "$ac_cxx_werror_flag" ||
+	 test -z "$ac_c_werror_flag" ||
 	 test ! -s conftest.err
-       } && test -s conftest$ac_exeext &&
-       $as_test_x conftest$ac_exeext; then
-  cw_cv_lib_libcwd=yes
+       } && test -s conftest.$ac_objext; then
+  ac_cv_header_stdc=yes
 else
   echo "$as_me: failed program was:" >&5
 sed 's/^/| /' conftest.$ac_ext >&5
 
-	cw_cv_lib_libcwd=no
+	ac_cv_header_stdc=no
 fi
 
-rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
-      conftest$ac_exeext conftest.$ac_ext
-  LIBS="$cw_save_LIBS"
-  ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <string.h>
 
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "memchr" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
 fi
-{ echo "$as_me:$LINENO: result: $cw_cv_lib_libcwd" >&5
-echo "${ECHO_T}$cw_cv_lib_libcwd" >&6; }
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+  $EGREP "free" >/dev/null 2>&1; then
+  :
+else
+  ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+  if test "$cross_compiling" = yes; then
+  :
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+		   (('a' <= (c) && (c) <= 'i') \
+		     || ('j' <= (c) && (c) <= 'r') \
+		     || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+  int i;
+  for (i = 0; i < 256; i++)
+    if (XOR (islower (i), ISLOWER (i))
+	|| toupper (i) != TOUPPER (i))
+      return 2;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  :
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_header_stdc=no
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
+echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+cat >>confdefs.h <<\_ACEOF
+#define STDC_HEADERS 1
+_ACEOF
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+
+
+
+
+
+
+
+
+
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+		  inttypes.h stdint.h unistd.h
+do
+as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
+{ echo "$as_me:$LINENO: checking for $ac_header" >&5
+echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
+if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+
+#include <$ac_header>
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  eval "$as_ac_Header=yes"
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	eval "$as_ac_Header=no"
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+ac_res=`eval echo '${'$as_ac_Header'}'`
+	       { echo "$as_me:$LINENO: result: $ac_res" >&5
+echo "${ECHO_T}$ac_res" >&6; }
+if test `eval echo '${'$as_ac_Header'}'` = yes; then
+  cat >>confdefs.h <<_ACEOF
+#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+{ echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
+echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6; }
+if test "${ac_cv_c_bigendian+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  # See if sys/param.h defines the BYTE_ORDER macro.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/param.h>
+
+int
+main ()
+{
+#if  ! (defined BYTE_ORDER && defined BIG_ENDIAN && defined LITTLE_ENDIAN \
+	&& BYTE_ORDER && BIG_ENDIAN && LITTLE_ENDIAN)
+ bogus endian macros
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  # It does; now see whether it defined to BIG_ENDIAN or not.
+cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+#include <sys/types.h>
+#include <sys/param.h>
+
+int
+main ()
+{
+#if BYTE_ORDER != BIG_ENDIAN
+ not big endian
+#endif
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  ac_cv_c_bigendian=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	ac_cv_c_bigendian=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	# It does not; compile a test program.
+if test "$cross_compiling" = yes; then
+  # try to guess the endianness by grepping values into an object file
+  ac_cv_c_bigendian=unknown
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
+short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
+void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
+short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
+short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
+void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
+int
+main ()
+{
+ _ascii (); _ebcdic ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext
+if { (ac_try="$ac_compile"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_compile") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_c_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest.$ac_objext; then
+  if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then
+  ac_cv_c_bigendian=yes
+fi
+if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
+  if test "$ac_cv_c_bigendian" = unknown; then
+    ac_cv_c_bigendian=no
+  else
+    # finding both strings is unlikely to happen, but who knows?
+    ac_cv_c_bigendian=unknown
+  fi
+fi
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+else
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* end confdefs.h.  */
+$ac_includes_default
+int
+main ()
+{
+
+  /* Are we little or big endian?  From Harbison&Steele.  */
+  union
+  {
+    long int l;
+    char c[sizeof (long int)];
+  } u;
+  u.l = 1;
+  return u.c[sizeof (long int) - 1] == 1;
+
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
+  { (case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_try") 2>&5
+  ac_status=$?
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); }; }; then
+  ac_cv_c_bigendian=no
+else
+  echo "$as_me: program exited with status $ac_status" >&5
+echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+( exit $ac_status )
+ac_cv_c_bigendian=yes
+fi
+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
+fi
+
+
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
+echo "${ECHO_T}$ac_cv_c_bigendian" >&6; }
+case $ac_cv_c_bigendian in
+  yes)
+    { { echo "$as_me:$LINENO: error: ext3grep doesn't work on Big Endian systems" >&5
+echo "$as_me: error: ext3grep doesn't work on Big Endian systems" >&2;}
+   { (exit 1); exit 1; }; } ;;
+  no)
+     ;;
+  *)
+    { { echo "$as_me:$LINENO: error: unknown endianness
+presetting ac_cv_c_bigendian=no (or yes) will help" >&5
+echo "$as_me: error: unknown endianness
+presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
+   { (exit 1); exit 1; }; } ;;
+esac
+
+
+# Make sure we can run config.sub.
+$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
+  { { echo "$as_me:$LINENO: error: cannot run $SHELL $ac_aux_dir/config.sub" >&5
+echo "$as_me: error: cannot run $SHELL $ac_aux_dir/config.sub" >&2;}
+   { (exit 1); exit 1; }; }
+
+{ echo "$as_me:$LINENO: checking build system type" >&5
+echo $ECHO_N "checking build system type... $ECHO_C" >&6; }
+if test "${ac_cv_build+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  ac_build_alias=$build_alias
+test "x$ac_build_alias" = x &&
+  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
+test "x$ac_build_alias" = x &&
+  { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
+echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
+   { (exit 1); exit 1; }; }
+ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
+  { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $ac_build_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_build" >&5
+echo "${ECHO_T}$ac_cv_build" >&6; }
+case $ac_cv_build in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical build" >&5
+echo "$as_me: error: invalid value of canonical build" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+build=$ac_cv_build
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_build
+shift
+build_cpu=$1
+build_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+build_os=$*
+IFS=$ac_save_IFS
+case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
+
+
+
+
+
+
+
+
+
+# Add args to configure
+# Check whether --enable-debug was given.
+if test "${enable_debug+set}" = set; then
+  enableval=$enable_debug; cw_config_debug=$enableval
+else
+  cw_config_debug=
+fi
+
+# Check whether --enable-libcwd was given.
+if test "${enable_libcwd+set}" = set; then
+  enableval=$enable_libcwd; cw_config_libcwd=$enableval
+else
+  cw_config_libcwd=
+fi
+
+# Check whether --enable-optimize was given.
+if test "${enable_optimize+set}" = set; then
+  enableval=$enable_optimize; cw_config_optimize=$enableval
+else
+  cw_config_optimize=
+fi
+
+# Check whether --enable-profile was given.
+if test "${enable_profile+set}" = set; then
+  enableval=$enable_profile; cw_config_profile=$enableval
+else
+  cw_config_profile=
+fi
+
+
+# Strip possible -g and -O commandline options from CXXFLAGS.
+CW_DEBUG_FLAGS=
+CW_OPTIMISE_FLAGS=
+CW_WARNING_FLAGS=
+CW_STRIPPED_CXXFLAGS=
+for arg in $CXXFLAGS; do
+case "$arg" in # (
+-g*)
+        CW_DEBUG_FLAGS="$CW_DEBUG_FLAGS $arg"
+        ;; # (
+-O*)
+        CW_OPTIMISE_FLAGS="$CW_OPTIMISE_FLAGS $arg"
+        ;; # (
+-W*)	CW_WARNING_FLAGS="$CW_WARNING_FLAGS $arg"
+	;; # (
+*)
+        CW_STRIPPED_CXXFLAGS="$CW_STRIPPED_CXXFLAGS $arg"
+        ;;
+esac
+done
+
+# Set various defaults, depending on other options.
+
+if test x"$cw_config_optimize" = x"no"; then
+    CW_OPTIMISE_FLAGS=""        # Explicit --disable-optimize, strip optimization even from CXXFLAGS environment variable.
+fi
+
+if test x"$enable_maintainer_mode" = x"yes"; then
+  if test -z "$cw_config_optimize"; then
+    cw_config_optimize=no          # --enable-maintainer-mode, set default to --disable-optimize.
+  fi
+  if test -z "$cw_config_debug"; then
+    cw_config_debug=yes            # --enable-maintainer-mode, set default to --enable-debug.
+  fi
+fi
+
+if test x"$cw_config_debug" = x"yes"; then
+  if test -z "$cw_config_optimize"; then
+    cw_config_optimize=no          # --enable-debug and no --enable-optimize, set default to --disable-optimize.
+  fi
+else
+  if test -z "$cw_config_libcwd"; then
+    cw_config_libcwd=no            # No --enable-debug and no --enable-libcwd, set default to --disable-libcwd.
+  fi
+fi
+
+{ echo "$as_me:$LINENO: checking host system type" >&5
+echo $ECHO_N "checking host system type... $ECHO_C" >&6; }
+if test "${ac_cv_host+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+  if test "x$host_alias" = x; then
+  ac_cv_host=$ac_cv_build
+else
+  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
+    { { echo "$as_me:$LINENO: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&5
+echo "$as_me: error: $SHELL $ac_aux_dir/config.sub $host_alias failed" >&2;}
+   { (exit 1); exit 1; }; }
+fi
+
+fi
+{ echo "$as_me:$LINENO: result: $ac_cv_host" >&5
+echo "${ECHO_T}$ac_cv_host" >&6; }
+case $ac_cv_host in
+*-*-*) ;;
+*) { { echo "$as_me:$LINENO: error: invalid value of canonical host" >&5
+echo "$as_me: error: invalid value of canonical host" >&2;}
+   { (exit 1); exit 1; }; };;
+esac
+host=$ac_cv_host
+ac_save_IFS=$IFS; IFS='-'
+set x $ac_cv_host
+shift
+host_cpu=$1
+host_vendor=$2
+shift; shift
+# Remember, the first character of IFS is used to create $*,
+# except with old shells:
+host_os=$*
+IFS=$ac_save_IFS
+case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
+
+
+case "$host" in
+  *freebsd*) CW_DEFAULT_DEBUG_FLAGS=-ggdb ;;   *) CW_DEFAULT_DEBUG_FLAGS=-g ;;
+esac
+
+# Handle cw_config_libcwd.
+# Check if we have libcwd, $cw_config_libcwd can be "yes", "no" or "".
+if test -z "$cw_used_libcwd"; then
+cw_wanted=$cw_config_libcwd
+if test x"$cw_wanted" = x"no"; then
+  cw_used_libcwd=no
+else
+  cw_libname=cwd
+  test "no" = "yes" && cw_libname=cwd_r
+  { echo "$as_me:$LINENO: checking if libcwd is available" >&5
+echo $ECHO_N "checking if libcwd is available... $ECHO_C" >&6; }
+if test "${cw_cv_lib_libcwd+set}" = set; then
+  echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+    # Check if we have libcwd
+
+  ac_ext=cpp
+ac_cpp='$CXXCPP $CPPFLAGS'
+ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_cxx_compiler_gnu
+
+  cw_save_LIBS="$LIBS"
+  LIBS="$LIBS `pkg-config --libs lib$cw_libname`"
+  cat >conftest.$ac_ext <<_ACEOF
+/* confdefs.h.  */
+_ACEOF
+cat confdefs.h >>conftest.$ac_ext
+cat >>conftest.$ac_ext <<_ACEOF
+/* 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 __libcwd_version ();
+int
+main ()
+{
+return __libcwd_version ();
+  ;
+  return 0;
+}
+_ACEOF
+rm -f conftest.$ac_objext conftest$ac_exeext
+if { (ac_try="$ac_link"
+case "(($ac_try" in
+  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
+  *) ac_try_echo=$ac_try;;
+esac
+eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
+  (eval "$ac_link") 2>conftest.er1
+  ac_status=$?
+  grep -v '^ *+' conftest.er1 >conftest.err
+  rm -f conftest.er1
+  cat conftest.err >&5
+  echo "$as_me:$LINENO: \$? = $ac_status" >&5
+  (exit $ac_status); } && {
+	 test -z "$ac_cxx_werror_flag" ||
+	 test ! -s conftest.err
+       } && test -s conftest$ac_exeext &&
+       $as_test_x conftest$ac_exeext; then
+  cw_cv_lib_libcwd=yes
+else
+  echo "$as_me: failed program was:" >&5
+sed 's/^/| /' conftest.$ac_ext >&5
+
+	cw_cv_lib_libcwd=no
+fi
+
+rm -f core conftest.err conftest.$ac_objext conftest_ipa8_conftest.oo \
+      conftest$ac_exeext conftest.$ac_ext
+  LIBS="$cw_save_LIBS"
+  ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+fi
+{ echo "$as_me:$LINENO: result: $cw_cv_lib_libcwd" >&5
+echo "${ECHO_T}$cw_cv_lib_libcwd" >&6; }
   cw_use_libcwd="$cw_wanted"
   test -n "$cw_use_libcwd" || cw_use_libcwd=auto
   test "$cw_use_libcwd" = "auto" && cw_use_libcwd=$cw_cv_lib_libcwd
@@ -5438,249 +5916,6 @@ fi
 
 CXXFLAGS="$CXXFLAGS `pkg-config --cflags ext2fs`"
 
-{ echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  ac_cv_header_stdc=yes
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	ac_cv_header_stdc=no
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
-  # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "memchr" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
-  $EGREP "free" >/dev/null 2>&1; then
-  :
-else
-  ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
-  # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
-  if test "$cross_compiling" = yes; then
-  :
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
-		   (('a' <= (c) && (c) <= 'i') \
-		     || ('j' <= (c) && (c) <= 'r') \
-		     || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
-  int i;
-  for (i = 0; i < 256; i++)
-    if (XOR (islower (i), ISLOWER (i))
-	|| toupper (i) != TOUPPER (i))
-      return 2;
-  return 0;
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
-  { (case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); }; }; then
-  :
-else
-  echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-
-
-fi
-fi
-{ echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-
-
-
-
-
-
-
-
-
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
-		  inttypes.h stdint.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-{ echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6; }
-if { as_var=$as_ac_Header; eval "test \"\${$as_var+set}\" = set"; }; then
-  echo $ECHO_N "(cached) $ECHO_C" >&6
-else
-  cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h.  */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h.  */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval "echo \"\$as_me:$LINENO: $ac_try_echo\"") >&5
-  (eval "$ac_compile") 2>conftest.er1
-  ac_status=$?
-  grep -v '^ *+' conftest.er1 >conftest.err
-  rm -f conftest.er1
-  cat conftest.err >&5
-  echo "$as_me:$LINENO: \$? = $ac_status" >&5
-  (exit $ac_status); } && {
-	 test -z "$ac_c_werror_flag" ||
-	 test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then
-  eval "$as_ac_Header=yes"
-else
-  echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-	eval "$as_ac_Header=no"
-fi
-
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-ac_res=`eval echo '${'$as_ac_Header'}'`
-	       { echo "$as_me:$LINENO: result: $ac_res" >&5
-echo "${ECHO_T}$ac_res" >&6; }
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
-  cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
 
 
 for ac_header in ext2fs/ext2_fs.h ext2fs/ext2fs.h
@@ -6316,7 +6551,7 @@ exec 6>&1
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by ext3grep $as_me 0.8.0, which was
+This file was extended by ext3grep $as_me 0.9.0, which was
 generated by GNU Autoconf 2.61.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -6369,7 +6604,7 @@ Report bugs to <bug-autoconf at gnu.org>."
 _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF
 ac_cs_version="\\
-ext3grep config.status 0.8.0
+ext3grep config.status 0.9.0
 configured by $0, generated by GNU Autoconf 2.61,
   with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
 
@@ -6636,6 +6871,9 @@ CXXDEPMODE!$CXXDEPMODE$ac_delim
 am__fastdepCXX_TRUE!$am__fastdepCXX_TRUE$ac_delim
 am__fastdepCXX_FALSE!$am__fastdepCXX_FALSE$ac_delim
 CXXCPP!$CXXCPP$ac_delim
+CPP!$CPP$ac_delim
+GREP!$GREP$ac_delim
+EGREP!$EGREP$ac_delim
 build!$build$ac_delim
 build_cpu!$build_cpu$ac_delim
 build_vendor!$build_vendor$ac_delim
@@ -6644,9 +6882,6 @@ host!$host$ac_delim
 host_cpu!$host_cpu$ac_delim
 host_vendor!$host_vendor$ac_delim
 host_os!$host_os$ac_delim
-CWD_FLAGS!$CWD_FLAGS$ac_delim
-CWD_LIBS!$CWD_LIBS$ac_delim
-USE_LIBCWD!$USE_LIBCWD$ac_delim
 _ACEOF
 
   if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 97; then
@@ -6688,11 +6923,11 @@ _ACEOF
 ac_delim='%!_!# '
 for ac_last_try in false false false false false :; do
   cat >conf$$subs.sed <<_ACEOF
+CWD_FLAGS!$CWD_FLAGS$ac_delim
+CWD_LIBS!$CWD_LIBS$ac_delim
+USE_LIBCWD!$USE_LIBCWD$ac_delim
 DOXYGEN_CWDEBUG!$DOXYGEN_CWDEBUG$ac_delim
 DOXYGEN_DEBUG!$DOXYGEN_DEBUG$ac_delim
-CPP!$CPP$ac_delim
-GREP!$GREP$ac_delim
-EGREP!$EGREP$ac_delim
 CW_DEBUG_FLAGS!$CW_DEBUG_FLAGS$ac_delim
 CW_WARNING_FLAGS!$CW_WARNING_FLAGS$ac_delim
 CW_OPTIMISE_FLAGS!$CW_OPTIMISE_FLAGS$ac_delim
diff --git a/configure.ac b/configure.ac
index e8e814f..73b1035 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5,7 +5,7 @@ dnl CW_VERSION_MINOR               : Increment when major changes have occured.
 dnl CW_VERSION_REVISION            : Increment every public release; or set to 0 when CW_VERSION_MINOR was incremented.
 
 define(CW_VERSION_MAJOR, 0)
-define(CW_VERSION_MINOR, 8)
+define(CW_VERSION_MINOR, 9)
 define(CW_VERSION_REVISION, 0)
 
 define(CW_PACKAGE_NAME, [ext3grep])
@@ -41,6 +41,9 @@ AC_PROG_CC
 AC_PROG_CXX
 AC_PROG_CXXCPP
 
+dnl Demand little endian system
+AC_C_BIGENDIAN([AC_MSG_ERROR([ext3grep doesn't work on Big Endian systems])])
+
 dnl Make these two the default until ext3grep is stable.
 dnl Add --enable-debug (DEBUG, DOXYGEN_DEBUG), --enable-libcwd (CWDEBUG, DOXYGEN_CWDEBUG),
 dnl --enable-optimise and --enable-profile options. Update USE_LIBCWD, CWD_LIBS and CXXFLAGS accordingly.
diff --git a/debian/changelog b/debian/changelog
deleted file mode 100644
index 2ccfcd9..0000000
--- a/debian/changelog
+++ /dev/null
@@ -1,13 +0,0 @@
-ext3grep (0.8.0-1) unstable; urgency=low
-
-  * New upstream release
-    + Allow inode_size_ to be larger than sizeof(Inode) (Closes: #491621) 
-  * Removed all big-endian arch, as ext3grep won't work there
-
- -- Rich Ercolani <rercola at acm.jhu.edu>  Fri, 15 Aug 2008 01:41:12 -0400
-
-ext3grep (0.6.0-1) unstable; urgency=low
-
-  * Initial release (Closes: #470813)
-
- -- Rich Ercolani <rercola at acm.jhu.edu>  Fri, 14 Mar 2008 22:19:59 -0400
diff --git a/debian/compat b/debian/compat
deleted file mode 100644
index 7f8f011..0000000
--- a/debian/compat
+++ /dev/null
@@ -1 +0,0 @@
-7
diff --git a/debian/control b/debian/control
deleted file mode 100644
index be398d2..0000000
--- a/debian/control
+++ /dev/null
@@ -1,19 +0,0 @@
-Source: ext3grep
-Section: admin
-Priority: extra
-Maintainer: Debian Forensics <forensics-devel at lists.alioth.debian.org>
-Uploaders: Luca Bruno <lucab at debian.org>, Rich Ercolani <rercola at acm.jhu.edu>
-Build-Depends: debhelper (>= 7), autotools-dev, e2fslibs-dev, libncurses5 | libncurses-dev, pkg-config
-Standards-Version: 3.8.0
-Homepage: http://code.google.com/p/ext3grep/
-Vcs-Browser: http://git.debian.org/?p=forensics/ext3grep.git
-Vcs-Git: git://git.debian.org/git/forensics/ext3grep.git
-
-Package: ext3grep
-Architecture: alpha amd64 arm armel i386 ia64 mipsel
-Depends: ${shlibs:Depends}, ${misc:Depends}
-Description: Tool to help recover deleted files on ext3 filesystems
- ext3grep is a simple tool intended to aid anyone who accidentally deletes a
- file on an ext3 filesystem, only to find that they wanted it shortly
- thereafter.
-
diff --git a/debian/copyright b/debian/copyright
deleted file mode 100644
index 7478779..0000000
--- a/debian/copyright
+++ /dev/null
@@ -1,62 +0,0 @@
-Author: Carlo Wood <carlo at alinoe.com>
-Download: http://www.xs4all.nl/~carlo17/
-
-Files: *
-Copyright: (C) 2008 Carlo Wood <carlo at alinoe.com>
-License: GPL-2+
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- .
- On Debian systems, the complete text of the GNU General Public License
- can be found in /usr/share/common-licenses/GPL-2 file.
-
-Files: src/kernel-jbd.h
-Copyright: (C) 1998-2000 Red Hat, Inc
-License: GPL-2+
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- .
- On Debian systems, the complete text of the GNU General Public License
- can be found in /usr/share/common-licenses/GPL-2 file.
-
-Files: debian/*
-Copyright: (C) 2008 Rich Ercolani <rercola at acm.jhu.edu>
-License: GPL-2+
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License
- as published by the Free Software Foundation; either version 2
- of the License, or (at your option) any later version.
- .
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- .
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- .
- On Debian systems, the complete text of the GNU General Public License
- can be found in /usr/share/common-licenses/GPL-2 file.
diff --git a/debian/docs b/debian/docs
deleted file mode 100644
index e845566..0000000
--- a/debian/docs
+++ /dev/null
@@ -1 +0,0 @@
-README
diff --git a/debian/manpage/ext3grep.8 b/debian/manpage/ext3grep.8
deleted file mode 100644
index 848da73..0000000
--- a/debian/manpage/ext3grep.8
+++ /dev/null
@@ -1,177 +0,0 @@
-.TH EXT3GREP 8 "2008-03-14" "0.6.0" "recover files on ext3 filesystems"
-
-.SH NAME
-ext3grep \- ext3 file recovery tool
-
-.SH SYNOPSIS
-.B ext3grep
-[\fIoptions\fR] \fIfile\fR \&...
-
-.SH DESCRIPTION
-ext3grep is a tool which attempts to recover deleted files on ext3 filesystems.
-
-.SH OPTIONS
-.TP
-\fB\-\-superblock\fR
-Print contents of superblock in addition to the rest. If no action is specified
-then this option is implied.
-.TP
-\fB\-\-print\fR
-Print contents of block or inode, if any.
-.TP
-\fB\-\-ls\fR
-Print directories, one line per entry. See the \fBFILTERS\fR section for details
-on filtering this output.
-.TP
-\fB\-\-accept\fR \fIFILE\fR
-Accepts 'file' as a legal filename. Can be used multiple times. If you change
-any \fB\-\-accept\fR you must remove BOTH stage* files!
-.TP
-\fB\-\-journal\fR
-Prints the contents of the journal.
-.TP
-\fB\-\-show\-path\-inodes\fR
-Show the inode of each directory component in paths.
-
-.SS "Filters:"
-.TP
-\fB\-\-group\fR \fIgid\fR
-Only show/process files owned by process group \fIgid\fR.
-.TP
-\fB\-\-directory\fR
-Only show/process process directory inodes.
-.TP
-\fB\-\-after\fR \fIdtime\fR
-Only show/process entries deleted on or after \fIdtime\fR.
-.TP
-\fB\-\-before\fR \fIdtime\fR
-Only show/process entries deleted before \fIdtime\fR.
-.TP
-\fB\-\-deleted\fR
-Only show/process deleted entries.
-.TP
-\fB\-\-allocated\fR
-Only show/process allocated inodes/blocks.
-.TP
-\fB\-\-unallocated\fR
-Only show/process unallocated inodes/blocks.
-.TP
-\fB\-\-reallocated\fR
-Do not suppress entries with reallocated inodes. Inodes are
-considered 'reallocated' if the entry is deleted but the inode is allocated, but
-also when the file type in the dir entry and the inode are different.
-.TP
-\fB\-\-zeroed\-inodes\fR
-Do not suppress entries with zeroed inodes. Linked entries are always shown,
-regardless of this option.
-.TP
-\fB\-\-depth\fR depth
-Process directories recursively up till a depth of 'depth'.
-
-.SS "Actions:"
-.TP
-\fB\-\-inode\-to\-block\fR \fIinode_num\fR
-Print the block that contains inode \fIinode_num\fR.
-.TP
-\fB\-\-inode\fR \fIinode_num\fR
-Show info on inode \fIinode_num\fR. If \fB\-\-ls\fR is used and the inode is a
-directory, then the filters apply to the entries of the directory. If you do not
-use \fB\-\-ls\fR then \fB\-\-print\fR is implied.
-.TP
-\fB\-\-block\fR \fIblock_num\fR
-Show info on block \fIblock_num\fR. If \fB\-\-ls\fR is used and the block is the
-first block of a directory, then the filters apply to entries of the directory.
-If you do not use \fB\-\-ls\fR then \fB\-\-print\fR is implied.
-.TP
-\fB\-\-histogram\fR=[\fIatime\fR|\fIctime\fR|\fImtime\fR|\fIdtime\fR|\fIgroup\fR]
-Generate a histogram based on the given specs. Using atime, ctime or mtime will
-change the meaning of \fB\-\-after\fR and \fB\-\-before\fR to those times.
-.TP
-\fB\-\-journal\-block\fR \fIblock_num\fR
-Show info on journal block \fIblock_num\fR.
-.TP
-\fB\-\-journal\-transaction\fR \fIseq\fR
-Show info on transaction with sequence number \fIseq\fR.
-.TP
-\fB\-\-dump\-names\fR
-Write the paths of files to stdout. This implies \fB\-\-ls\fR but suppresses its
-output.
-.TP
-\fB\-\-search\-start\fR \fIstr\fR
-Find blocks that start with the fixed string \fIstr\fR.
-.TP
-\fB\-\-search\fR \fIstr\fR
-Find blocks that contain the fixed string \fIstr\fR.
-.TP
-\fB\-\-search\-inode\fR \fIblock_num\fR
-Find inodes that refer to block \fIblock_num\fR.
-.HP
-\fB\-\-search\-zeroed\-inodes\fR
-Return allocated inode table entries that are zeroed.
-.TP
-\fB\-\-inode\-dirblock\-table\fR \fIdir\fR
-Print a table for directory path \fIdir\fR of directory block numbers found and
-the inodes used for each file.
-.TP
-\fB\-\-show\-journal\-inodes\fR \fIinode_num\fR
-Show copies of inode \fIinode_num\fR still in the journal.
-.TP
-\fB\-\-restore\-file\fR \fIpath\fR
-Will restore file \fIpath\fR. \fIpath\fR is relative to root of the partition
-and does not start with a '/' (it must be one of the paths returned by
-\fB\-\-dump\-names\fR). The restored directory, file or symbolic link is created
-in the current directory as ./\fIpath\fR.
-.TP
-\fB\-\-restore\-all\fR
-As \fB\-\-restore\-file\fR but attempts to restore everything. The use of
-\fB\-\-after\fR is highly recommended because the attempt to restore very old
-files will only result in them being hard linked to a more recently deleted file
-and as such pollute the output.
-.TP
-\fB\-\-show\-hardlinks\fR
-Show all inodes that are shared by two or more files.
-.TP
-\fB\-\-version\fR, \fB\-[vV]\fR
-Prints the version information and exits.
-.TP
-\fB\-\-help\fR,
-Prints a help message and exits.
-.TP
-
-.SH EXAMPLES
-.B Restoring all files from the ext3 partition/file /backup/sda1:
-.nf
-ext3grep \-\-restore-all /backup/sda1
-.fi
-.B Listing the files owned by GID 1000 on /backup/sda1
-.nf
-ext3grep \-\-ls \-\-group 1000 /backup/sda1
-.fi
-.B Finding all files containing the string Critical_report in their name on
-/backup/sda1
-.nf
-ext3grep \-\-dump-names /backup/sda1 | grep 'Critical_report'
-.fi
-
-.SH LIMITATIONS
-Do not attempt to use ext3grep for recovery from a mounted filesystem. Ever.
-
-No, not even then.
-
-ext3grep sometimes runs out of memory spare on 32-bit architectures and crashes.
-It is highly recommended that you run ext3grep in a 64-bit environment when
-dealing with large filesystems, though this is seen as a bug.
-
-ext3grep cannot recover files if there are no remnants of them.
-
-Some files that ext3grep recovers may have trailing null bytes - just scrape
-them off like the burnt bits on toast.
-
-.SH SEE ALSO
-.BR "debugfs" "(8)"
-
-.SH AUTHOR
-This manual page was written by Rich Ercolani <rercola at acm.jhu.edu>, for the
-Debian project (but it may, of course, be used by others), because the original
-program lacked a manual page. It may be distributed under the same terms as
-ext3grep, the GNU GPL version 2 or later, at your option.
diff --git a/debian/manpages b/debian/manpages
deleted file mode 100644
index 31eb23e..0000000
--- a/debian/manpages
+++ /dev/null
@@ -1 +0,0 @@
-debian/manpage/*
diff --git a/debian/rules b/debian/rules
deleted file mode 100755
index bc03079..0000000
--- a/debian/rules
+++ /dev/null
@@ -1,75 +0,0 @@
-#!/usr/bin/make -f
-# Uncomment the following line to disable optimization and enable
-# richer debug information.
-# DEB_BUILD_OPTIONS += nostrip noopt
-
-DEB_HOST_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE	?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-ifneq ($(DEB_HOST_GNU_TYPE),$(DEB_BUILD_GNU_TYPE))
-	CROSS= --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
-else
-	CROSS= --build $(DEB_BUILD_GNU_TYPE)
-endif
-
-ifneq (,$(filter noopt,$(DEB_BUILD_OPTIONS)))
-	EXTRA += --enable-debug --disable-optimize
-endif
-
-clean:
-	dh_testdir
-	dh_testroot
-	rm -f build-stamp
-
-	[ ! -f Makefile ] || $(MAKE) distclean
-
-	dh_clean
-
-config.status: configure
-	dh_testdir
-
-ifneq "$(wildcard /usr/share/misc/config.sub)" ""
-	cp -f /usr/share/misc/config.sub config.sub
-endif
-ifneq "$(wildcard /usr/share/misc/config.guess)" ""
-	cp -f /usr/share/misc/config.guess config.guess
-endif
-
-	CFLAGS="$(CFLAGS)" LDFLAGS="-Wl,-z,defs" ./configure $(CROSS) --prefix=/usr $(EXTRA)
-
-build: build-stamp
-build-stamp: config.status
-	dh_testdir
-
-	$(MAKE)
-
-	touch build-stamp
-
-install: build
-	dh_testdir
-	dh_testroot
-	dh_clean -k
-	dh_installdirs
-
-	$(MAKE) DESTDIR=$(CURDIR)/debian/ext3grep install
-
-binary: binary-arch
-
-binary-arch: build install
-	dh_testdir
-	dh_testroot
-	dh_installchangelogs NEWS
-	dh_installdocs
-	dh_installman
-	dh_strip
-	dh_compress
-	dh_fixperms
-	dh_installdeb
-	dh_shlibdeps
-	dh_gencontrol
-	dh_md5sums
-	dh_builddeb
-
-binary-indep:
-
-.PHONY: clean build install binary binary-arch binary-indep
diff --git a/debian/watch b/debian/watch
deleted file mode 100644
index c85c06e..0000000
--- a/debian/watch
+++ /dev/null
@@ -1,2 +0,0 @@
-version=3
-http://code.google.com/p/ext3grep/downloads/list http://ext3grep.googlecode.com/files/ext3grep-(.*).tar.gz
diff --git a/src/commandline.cc b/src/commandline.cc
index 0e83057..838e3f5 100644
--- a/src/commandline.cc
+++ b/src/commandline.cc
@@ -63,7 +63,7 @@ int commandline_search_inode = -1;
 hist_type commandline_histogram = hist_none;
 std::string commandline_inode_dirblock_table;
 int commandline_show_journal_inodes = -1;
-std::string commandline_restore_file;
+std::vector<std::string> commandline_restore_file;
 std::string commandline_restore_inode;
 bool commandline_restore_all = false;
 bool commandline_show_hardlinks = false;
@@ -151,11 +151,12 @@ static void print_usage(std::ostream& os)
   os << "                         Restore the file(s) with known inode number 'ino'.\n";
   os << "                         The restored files are created in ./" << outputdir << "\n";
   os << "                         with their inode number as extension (ie, inode.12345).\n";
-  os << "  --restore-file 'path'  Will restore file 'path'. 'path' is relative to root\n";
-  os << "                         of the partition and does not start with a '/' (it\n";
+  os << "  --restore-file 'path' [--restore-file 'path' ...]\n"; 
+  os << "                         Will restore file 'path'. 'path' is relative to the\n";
+  os << "                         root of the partition and does not start with a '/' (it\n";
   os << "                         must be one of the paths returned by --dump-names).\n";
   os << "                         The restored directory, file or symbolic link is\n";
-  os << "                         created in the current directory as ./'path'.\n";
+  os << "                         created in the current directory as '"<< outputdir << "path'.\n";
   os << "  --restore-all          As --restore-file but attempts to restore everything.\n";
   os << "                         The use of --after is highly recommended because the\n";
   os << "                         attempt to restore very old files will only result in\n";
@@ -360,7 +361,7 @@ void decode_commandline_options(int& argc, char**& argv)
 	    commandline_restore_inode = optarg;
 	    break;
 	  case opt_restore_file:
-	    commandline_restore_file = optarg;
+	    commandline_restore_file.push_back(optarg);
 	    break;
 	  case opt_restore_all:
 	    commandline_restore_all = true;
diff --git a/src/commandline.h b/src/commandline.h
index 087f222..4475099 100644
--- a/src/commandline.h
+++ b/src/commandline.h
@@ -26,6 +26,7 @@
 
 #ifndef USE_PCH
 #include <string>		// Needed for std::string
+#include <vector>		// Needed for std::vector
 #include <time.h>		// Needed for time_t
 #endif
 
@@ -61,7 +62,7 @@ extern int commandline_search_inode;
 extern hist_type commandline_histogram;
 extern std::string commandline_inode_dirblock_table;
 extern int commandline_show_journal_inodes;
-extern std::string commandline_restore_file;
+extern std::vector<std::string> commandline_restore_file;
 extern std::string commandline_restore_inode;
 extern bool commandline_restore_all;
 extern bool commandline_show_hardlinks;
diff --git a/src/ext3grep.cc b/src/ext3grep.cc
index 84ae207..bc1fad3 100644
--- a/src/ext3grep.cc
+++ b/src/ext3grep.cc
@@ -468,7 +468,8 @@ void run_program(void)
     dump_names();
   // Handle --restore-file
   if (!commandline_restore_file.empty())
-    restore_file(commandline_restore_file);
+    for (std::vector<std::string>::iterator iter = commandline_restore_file.begin(); iter != commandline_restore_file.end(); ++iter)
+      restore_file(*iter);
   // Handle --restore-inode
   if (!commandline_restore_inode.empty())
   {
diff --git a/src/init_consts.cc b/src/init_consts.cc
index b7728e8..42e821a 100644
--- a/src/init_consts.cc
+++ b/src/init_consts.cc
@@ -40,6 +40,11 @@
 
 void init_consts()
 {
+  // Sanity checks.
+  assert(super_block.s_magic == 0xEF53);	// EXT3.
+  assert(super_block.s_creator_os == 0);	// Linux.
+  assert(super_block.s_block_group_nr == 0);	// First super block.
+
   // Frequently used constants.
   groups_ = groups(super_block);
   block_size_ = block_size(super_block);
@@ -52,10 +57,7 @@ void init_consts()
   page_size_ = sysconf(_SC_PAGESIZE);
 #endif
 
-  // Sanity checks.
-  assert(super_block.s_magic == 0xEF53);	// EXT3.
-  assert(super_block.s_creator_os == 0);	// Linux.
-  assert(super_block.s_block_group_nr == 0);	// First super block.
+  // More sanity checks.
   assert((uint32_t)groups_ * inodes_per_group(super_block) == inode_count_);	// All inodes belong to a group.
   // extX does not support block fragments.
   // "File System Forensic Analysis, chapter 14, Overview --> Blocks"

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/forensics/ext3grep.git



More information about the forensics-changes mailing list