Browse Source

Import upstream version 5.22+2

Christoph Biedl 9 years ago
parent
commit
5f1cbb610e
26 changed files with 759 additions and 674 deletions
  1. 8 0
      ChangeLog
  2. 20 12
      README
  3. 10 10
      autom4te.cache/output.0
  4. 10 10
      autom4te.cache/output.1
  5. 10 10
      autom4te.cache/output.2
  6. 365 365
      autom4te.cache/requests
  7. 1 1
      autom4te.cache/traces.1
  8. 10 10
      configure
  9. 1 1
      configure.ac
  10. 7 2
      doc/magic.man
  11. 2 2
      magic/Magdir/cafebabe
  12. 8 1
      magic/Magdir/filesystems
  13. 66 5
      magic/Magdir/images
  14. 18 95
      magic/Magdir/jpeg
  15. 3 3
      src/Makefile.in
  16. 163 113
      src/apprentice.c
  17. 14 12
      src/cdf.c
  18. 2 3
      src/compress.c
  19. 7 1
      src/file.c
  20. 7 1
      src/file.h
  21. 6 5
      src/funcs.c
  22. 6 6
      src/magic.c
  23. 2 1
      src/print.c
  24. 5 1
      src/readcdf.c
  25. 5 3
      src/readelf.c
  26. 3 1
      src/softmagic.c

+ 8 - 0
ChangeLog

@@ -1,3 +1,11 @@
+2015-01-02  15:15  Christos Zoulas <christos@zoulas.com>
+
+	* release 5.22
+
+2015-01-01  12:01  Christos Zoulas <christos@zoulas.com>
+
+	* add indirect relative for TIFF/Exif
+
 2014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
 2014-12-16  18:10  Christos Zoulas <christos@zoulas.com>
 	
 	
 	* restructure elf note printing to avoid repeated messages
 	* restructure elf note printing to avoid repeated messages

+ 20 - 12
README

@@ -1,6 +1,6 @@
 ## README for file(1) Command ##
 ## README for file(1) Command ##
 
 
-    @(#) $File: README,v 1.46 2013/03/25 14:33:10 christos Exp $
+    @(#) $File: README,v 1.48 2014/03/07 13:55:30 christos Exp $
 
 
 Mailing List: file@mx.gw.com  
 Mailing List: file@mx.gw.com  
 Mailing List archives: http://mx.gw.com/pipermail/file/  
 Mailing List archives: http://mx.gw.com/pipermail/file/  
@@ -25,8 +25,8 @@ A public read-only git repository of the same sources is available at:
 
 
 	https://github.com/file/file
 	https://github.com/file/file
 
 
-The major changes for 5.x are CDF file parsing, indirect magic, and
-overhaul in mime and ascii encoding handling.
+The major changes for 5.x are CDF file parsing, indirect magic, name/use
+(recursion) and overhaul in mime and ascii encoding handling.
 
 
 The major feature of 4.x is the refactoring of the code into a library,
 The major feature of 4.x is the refactoring of the code into a library,
 and the re-write of the file command in terms of that library. The library
 and the re-write of the file command in terms of that library. The library
@@ -67,33 +67,41 @@ in magic(5) format please, to the maintainer, Christos Zoulas.
 COPYING - read this first.  
 COPYING - read this first.  
 README - read this second (you are currently reading this file).  
 README - read this second (you are currently reading this file).  
 INSTALL - read on how to install
 INSTALL - read on how to install
-
 src/apprentice.c - parses /etc/magic to learn magic  
 src/apprentice.c - parses /etc/magic to learn magic  
+src/asctime_r.c - replacement for OS's that don't have it.  
 src/apptype.c - used for OS/2 specific application type magic  
 src/apptype.c - used for OS/2 specific application type magic  
 src/asprintf.c - replacement for OS's that don't have it.  
 src/asprintf.c - replacement for OS's that don't have it.  
 src/ascmagic.c - third & last set of tests, based on hardwired assumptions.  
 src/ascmagic.c - third & last set of tests, based on hardwired assumptions.  
-src/asctime_r.c - for systems that don't have it.  
-src/asprintf.c - for systems that don't have it.  
-src/cdf.c - parser for Microsoft Compound Document Files  
+src/asctime_r.c - replacement for OS's that don't have it.  
+src/asprintf.c - replacement for OS's that don't have it.  
+src/cdf.[ch] - parser for Microsoft Compound Document Files  
 src/cdf_time.c - time converter for CDF.  
 src/cdf_time.c - time converter for CDF.  
 src/compress.c - handles decompressing files to look inside.  
 src/compress.c - handles decompressing files to look inside.  
-src/ctime_r.c - for systems that don't have it.  
+src/ctime_r.c - replacement for OS's that don't have it.  
+src/elfclass.h - common code for elf 32/64.
 src/encoding.c - handles unicode encodings  
 src/encoding.c - handles unicode encodings  
 src/file.c - the main program  
 src/file.c - the main program  
 src/file.h - header file  
 src/file.h - header file  
+src/file_opts.h - list of options
+src/fmtcheck.c - replacement for OS's that don't have it.  
 src/fsmagic.c - first set of tests the program runs, based on filesystem info  
 src/fsmagic.c - first set of tests the program runs, based on filesystem info  
 src/funcs.c - utilility functions  
 src/funcs.c - utilility functions  
-src/getopt_long.c - for systems that don't have it.  
-src/getline.c - for systems that don't have it.  
+src/getline.c - replacement for OS's that don't have it.  
+src/getopt_long.c - replacement for OS's that don't have it.  
 src/is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore).  
 src/is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore).  
 src/names.h - header file for ascmagic.c  
 src/names.h - header file for ascmagic.c  
+src/magic.h.in - source file for magic.h
 src/magic.c - the libmagic api  
 src/magic.c - the libmagic api  
+src/pread.c - replacement for OS's that don't have it.  
 src/print.c - print results, errors, warnings.  
 src/print.c - print results, errors, warnings.  
 src/readcdf.c - CDF wrapper.  
 src/readcdf.c - CDF wrapper.  
 src/readelf.[ch] - Stand-alone elf parsing code.  
 src/readelf.[ch] - Stand-alone elf parsing code.  
 src/softmagic.c - 2nd set of tests, based on /etc/magic  
 src/softmagic.c - 2nd set of tests, based on /etc/magic  
-src/strlcat.c - for systems that don't have it.  
-src/strlcpy.c - for systems that don't have it.  
+src/mygetopt.h - replacement for OS's that don't have it.  
+src/strcasestr.c - replacement for OS's that don't have it.  
+src/strlcat.c - replacement for OS's that don't have it.  
+src/strlcpy.c - replacement for OS's that don't have it.  
+src/tar.h - tar file definitions
 src/vasprintf.c - for systems that don't have it.  
 src/vasprintf.c - for systems that don't have it.  
 doc/file.man - man page for the command  
 doc/file.man - man page for the command  
 doc/magic.man - man page for the magic file, courtesy Guy Harris.
 doc/magic.man - man page for the magic file, courtesy Guy Harris.

+ 10 - 10
autom4te.cache/output.0

@@ -1,6 +1,6 @@
 @%:@! /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.69 for file 5.21.
+@%:@ Generated by GNU Autoconf 2.69 for file 5.22.
 @%:@
 @%:@
 @%:@ Report bugs to <christos@astron.com>.
 @%:@ Report bugs to <christos@astron.com>.
 @%:@ 
 @%:@ 
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 # Identity of this package.
 PACKAGE_NAME='file'
 PACKAGE_NAME='file'
 PACKAGE_TARNAME='file'
 PACKAGE_TARNAME='file'
-PACKAGE_VERSION='5.21'
-PACKAGE_STRING='file 5.21'
+PACKAGE_VERSION='5.22'
+PACKAGE_STRING='file 5.22'
 PACKAGE_BUGREPORT='christos@astron.com'
 PACKAGE_BUGREPORT='christos@astron.com'
 PACKAGE_URL=''
 PACKAGE_URL=''
 
 
@@ -1327,7 +1327,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # 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.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
   cat <<_ACEOF
-\`configure' configures file 5.21 to adapt to many kinds of systems.
+\`configure' configures file 5.22 to adapt to many kinds of systems.
 
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
@@ -1397,7 +1397,7 @@ fi
 
 
 if test -n "$ac_init_help"; then
 if test -n "$ac_init_help"; then
   case $ac_init_help in
   case $ac_init_help in
-     short | recursive ) echo "Configuration of file 5.21:";;
+     short | recursive ) echo "Configuration of file 5.22:";;
    esac
    esac
   cat <<\_ACEOF
   cat <<\_ACEOF
 
 
@@ -1507,7 +1507,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
 if $ac_init_version; then
   cat <<\_ACEOF
   cat <<\_ACEOF
-file configure 5.21
+file configure 5.22
 generated by GNU Autoconf 2.69
 generated by GNU Autoconf 2.69
 
 
 Copyright (C) 2012 Free Software Foundation, Inc.
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2163,7 +2163,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 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 file $as_me 5.21, which was
+It was created by file $as_me 5.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
 
   $ $0 $@
   $ $0 $@
@@ -3029,7 +3029,7 @@ fi
 
 
 # Define the identity of the package.
 # Define the identity of the package.
  PACKAGE='file'
  PACKAGE='file'
- VERSION='5.21'
+ VERSION='5.22'
 
 
 
 
 cat >>confdefs.h <<_ACEOF
 cat >>confdefs.h <<_ACEOF
@@ -15014,7 +15014,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 # values after options handling.
 ac_log="
 ac_log="
-This file was extended by file $as_me 5.21, which was
+This file was extended by file $as_me 5.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_FILES    = $CONFIG_FILES
@@ -15080,7 +15080,7 @@ _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_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 ac_cs_version="\\
-file config.status 5.21
+file config.status 5.22
 configured by $0, generated by GNU Autoconf 2.69,
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
   with options \\"\$ac_cs_config\\"
 
 

+ 10 - 10
autom4te.cache/output.1

@@ -1,6 +1,6 @@
 @%:@! /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.69 for file 5.21.
+@%:@ Generated by GNU Autoconf 2.69 for file 5.22.
 @%:@
 @%:@
 @%:@ Report bugs to <christos@astron.com>.
 @%:@ Report bugs to <christos@astron.com>.
 @%:@ 
 @%:@ 
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 # Identity of this package.
 PACKAGE_NAME='file'
 PACKAGE_NAME='file'
 PACKAGE_TARNAME='file'
 PACKAGE_TARNAME='file'
-PACKAGE_VERSION='5.21'
-PACKAGE_STRING='file 5.21'
+PACKAGE_VERSION='5.22'
+PACKAGE_STRING='file 5.22'
 PACKAGE_BUGREPORT='christos@astron.com'
 PACKAGE_BUGREPORT='christos@astron.com'
 PACKAGE_URL=''
 PACKAGE_URL=''
 
 
@@ -1327,7 +1327,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # 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.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
   cat <<_ACEOF
-\`configure' configures file 5.21 to adapt to many kinds of systems.
+\`configure' configures file 5.22 to adapt to many kinds of systems.
 
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
@@ -1397,7 +1397,7 @@ fi
 
 
 if test -n "$ac_init_help"; then
 if test -n "$ac_init_help"; then
   case $ac_init_help in
   case $ac_init_help in
-     short | recursive ) echo "Configuration of file 5.21:";;
+     short | recursive ) echo "Configuration of file 5.22:";;
    esac
    esac
   cat <<\_ACEOF
   cat <<\_ACEOF
 
 
@@ -1507,7 +1507,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
 if $ac_init_version; then
   cat <<\_ACEOF
   cat <<\_ACEOF
-file configure 5.21
+file configure 5.22
 generated by GNU Autoconf 2.69
 generated by GNU Autoconf 2.69
 
 
 Copyright (C) 2012 Free Software Foundation, Inc.
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2163,7 +2163,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 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 file $as_me 5.21, which was
+It was created by file $as_me 5.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
 
   $ $0 $@
   $ $0 $@
@@ -3029,7 +3029,7 @@ fi
 
 
 # Define the identity of the package.
 # Define the identity of the package.
  PACKAGE='file'
  PACKAGE='file'
- VERSION='5.21'
+ VERSION='5.22'
 
 
 
 
 cat >>confdefs.h <<_ACEOF
 cat >>confdefs.h <<_ACEOF
@@ -15014,7 +15014,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 # values after options handling.
 ac_log="
 ac_log="
-This file was extended by file $as_me 5.21, which was
+This file was extended by file $as_me 5.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_FILES    = $CONFIG_FILES
@@ -15080,7 +15080,7 @@ _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_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 ac_cs_version="\\
-file config.status 5.21
+file config.status 5.22
 configured by $0, generated by GNU Autoconf 2.69,
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
   with options \\"\$ac_cs_config\\"
 
 

+ 10 - 10
autom4te.cache/output.2

@@ -1,6 +1,6 @@
 @%:@! /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.69 for file 5.21.
+@%:@ Generated by GNU Autoconf 2.69 for file 5.22.
 @%:@
 @%:@
 @%:@ Report bugs to <christos@astron.com>.
 @%:@ Report bugs to <christos@astron.com>.
 @%:@ 
 @%:@ 
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 # Identity of this package.
 PACKAGE_NAME='file'
 PACKAGE_NAME='file'
 PACKAGE_TARNAME='file'
 PACKAGE_TARNAME='file'
-PACKAGE_VERSION='5.21'
-PACKAGE_STRING='file 5.21'
+PACKAGE_VERSION='5.22'
+PACKAGE_STRING='file 5.22'
 PACKAGE_BUGREPORT='christos@astron.com'
 PACKAGE_BUGREPORT='christos@astron.com'
 PACKAGE_URL=''
 PACKAGE_URL=''
 
 
@@ -1327,7 +1327,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # 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.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
   cat <<_ACEOF
-\`configure' configures file 5.21 to adapt to many kinds of systems.
+\`configure' configures file 5.22 to adapt to many kinds of systems.
 
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
@@ -1397,7 +1397,7 @@ fi
 
 
 if test -n "$ac_init_help"; then
 if test -n "$ac_init_help"; then
   case $ac_init_help in
   case $ac_init_help in
-     short | recursive ) echo "Configuration of file 5.21:";;
+     short | recursive ) echo "Configuration of file 5.22:";;
    esac
    esac
   cat <<\_ACEOF
   cat <<\_ACEOF
 
 
@@ -1507,7 +1507,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
 if $ac_init_version; then
   cat <<\_ACEOF
   cat <<\_ACEOF
-file configure 5.21
+file configure 5.22
 generated by GNU Autoconf 2.69
 generated by GNU Autoconf 2.69
 
 
 Copyright (C) 2012 Free Software Foundation, Inc.
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2163,7 +2163,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 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 file $as_me 5.21, which was
+It was created by file $as_me 5.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
 
   $ $0 $@
   $ $0 $@
@@ -3029,7 +3029,7 @@ fi
 
 
 # Define the identity of the package.
 # Define the identity of the package.
  PACKAGE='file'
  PACKAGE='file'
- VERSION='5.21'
+ VERSION='5.22'
 
 
 
 
 cat >>confdefs.h <<_ACEOF
 cat >>confdefs.h <<_ACEOF
@@ -15014,7 +15014,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 # values after options handling.
 ac_log="
 ac_log="
-This file was extended by file $as_me 5.21, which was
+This file was extended by file $as_me 5.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_FILES    = $CONFIG_FILES
@@ -15080,7 +15080,7 @@ _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_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 ac_cs_version="\\
-file config.status 5.21
+file config.status 5.22
 configured by $0, generated by GNU Autoconf 2.69,
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
   with options \\"\$ac_cs_config\\"
 
 

+ 365 - 365
autom4te.cache/requests

@@ -43,188 +43,188 @@
                         'configure.ac'
                         'configure.ac'
                       ],
                       ],
                       {
                       {
-                        '_LT_LINKER_OPTION' => 1,
+                        'AU_DEFUN' => 1,
+                        'AC_LIBTOOL_DLOPEN_SELF' => 1,
+                        '_LT_REQUIRED_DARWIN_CHECKS' => 1,
+                        'AC_PATH_MAGIC' => 1,
+                        'AC_CHECK_LIBM' => 1,
+                        'AC_LTDL_DLSYM_USCORE' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
+                        'AC_LIBTOOL_CXX' => 1,
+                        '_LTDL_SETUP' => 1,
+                        '_m4_warn' => 1,
+                        'include' => 1,
                         'AC_PROG_LD_RELOAD_FLAG' => 1,
                         'AC_PROG_LD_RELOAD_FLAG' => 1,
-                        '_LT_CC_BASENAME' => 1,
-                        'AC_LIB_LTDL' => 1,
+                        'AM_AUX_DIR_EXPAND' => 1,
                         'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
                         'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
-                        '_LT_LIBOBJ' => 1,
-                        'AM_SILENT_RULES' => 1,
-                        'LT_OUTPUT' => 1,
-                        'gl_VISIBILITY' => 1,
-                        'AC_PROG_EGREP' => 1,
-                        'AM_DISABLE_SHARED' => 1,
-                        'gl_PREREQ_ARGZ' => 1,
-                        'AC_LTDL_DLLIB' => 1,
-                        'LT_LIB_DLLOAD' => 1,
-                        '_LT_AC_FILE_LTDLL_C' => 1,
-                        '_LT_REQUIRED_DARWIN_CHECKS' => 1,
-                        'AC_DEFUN_ONCE' => 1,
-                        'LT_PROG_GCJ' => 1,
-                        'AM_SUBST_NOTMAKE' => 1,
-                        'AM_MISSING_HAS_RUN' => 1,
-                        'AC_DISABLE_FAST_INSTALL' => 1,
-                        '_LT_COMPILER_BOILERPLATE' => 1,
-                        'AC_LIBLTDL_INSTALLABLE' => 1,
-                        'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
-                        '_LT_PROG_CXX' => 1,
-                        'AM_SET_DEPDIR' => 1,
-                        'AC_PROG_NM' => 1,
-                        'LT_PATH_NM' => 1,
+                        'AC_LIBTOOL_GCJ' => 1,
+                        'AM_RUN_LOG' => 1,
                         'AC_LIBTOOL_SETUP' => 1,
                         'AC_LIBTOOL_SETUP' => 1,
-                        'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
-                        'AM_MISSING_PROG' => 1,
-                        'AC_DISABLE_STATIC' => 1,
+                        '_AM_SET_OPTIONS' => 1,
+                        'LT_CONFIG_LTDL_DIR' => 1,
                         'AC_LTDL_ENABLE_INSTALL' => 1,
                         'AC_LTDL_ENABLE_INSTALL' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        'AM_SANITY_CHECK' => 1,
-                        '_LT_AC_LOCK' => 1,
-                        'AC_LIBTOOL_OBJDIR' => 1,
-                        'AC_ENABLE_SHARED' => 1,
-                        'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
+                        'LT_AC_PROG_EGREP' => 1,
                         'AC_STRUCT_TIMEZONE_DAYLIGHT' => 1,
                         'AC_STRUCT_TIMEZONE_DAYLIGHT' => 1,
-                        'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
-                        'AC_LIBTOOL_PICMODE' => 1,
+                        'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
+                        '_LT_LINKER_BOILERPLATE' => 1,
+                        'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
+                        'AC_LIBTOOL_LINKER_OPTION' => 1,
+                        '_LT_AC_SYS_COMPILER' => 1,
+                        'LT_PATH_LD' => 1,
+                        'AM_MISSING_PROG' => 1,
+                        '_LT_AC_LANG_GCJ' => 1,
                         'LTDL_CONVENIENCE' => 1,
                         'LTDL_CONVENIENCE' => 1,
-                        '_LT_PREPARE_SED_QUOTE_VARS' => 1,
-                        'AC_LTDL_SYMBOL_USCORE' => 1,
+                        'AC_DISABLE_FAST_INSTALL' => 1,
                         '_LT_AC_PROG_CXXCPP' => 1,
                         '_LT_AC_PROG_CXXCPP' => 1,
-                        'AC_STRUCT_OPTION_GETOPT_H' => 1,
-                        'AC_LIBTOOL_F77' => 1,
-                        '_LT_AC_TAGCONFIG' => 1,
-                        '_LT_AC_LANG_F77_CONFIG' => 1,
-                        'AC_PROG_LD_GNU' => 1,
-                        '_LT_PATH_TOOL_PREFIX' => 1,
-                        'LT_AC_PROG_GCJ' => 1,
-                        'AC_LIBTOOL_DLOPEN_SELF' => 1,
-                        '_LT_PROG_FC' => 1,
-                        'LT_LANG' => 1,
-                        'AC_CHECK_LIBM' => 1,
-                        '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
-                        'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
-                        'LTDL_INIT' => 1,
-                        'AM_AUX_DIR_EXPAND' => 1,
+                        '_LT_LIBOBJ' => 1,
+                        'AC_ENABLE_STATIC' => 1,
+                        'AC_LTDL_SHLIBEXT' => 1,
+                        '_LT_AC_LANG_C_CONFIG' => 1,
+                        'AC_LIBTOOL_OBJDIR' => 1,
                         'LT_CMD_MAX_LEN' => 1,
                         'LT_CMD_MAX_LEN' => 1,
-                        'AC_WITH_LTDL' => 1,
-                        'AU_DEFUN' => 1,
-                        '_AM_PROG_TAR' => 1,
-                        'AM_RUN_LOG' => 1,
-                        'AC_LTDL_SHLIBPATH' => 1,
-                        '_LT_AC_CHECK_DLFCN' => 1,
-                        'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
-                        'AM_PROG_CC_C_O' => 1,
-                        'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
-                        'AC_LIBTOOL_LANG_C_CONFIG' => 1,
-                        'LT_INIT' => 1,
-                        'AC_PATH_TOOL_PREFIX' => 1,
-                        'gl_FUNC_ARGZ' => 1,
-                        'AC_LIBTOOL_PROG_CC_C_O' => 1,
-                        '_LT_COMPILER_OPTION' => 1,
-                        'AC_ENABLE_FAST_INSTALL' => 1,
-                        '_LT_AC_LANG_GCJ' => 1,
-                        '_LT_AC_SHELL_INIT' => 1,
-                        'LT_AC_PROG_RC' => 1,
-                        '_LT_LINKER_BOILERPLATE' => 1,
-                        'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
-                        'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
-                        'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
-                        'LT_CONFIG_LTDL_DIR' => 1,
-                        'LT_WITH_LTDL' => 1,
-                        'LT_LIB_M' => 1,
-                        '_AM_CONFIG_MACRO_DIRS' => 1,
-                        '_LT_AC_TRY_DLOPEN_SELF' => 1,
-                        'LTVERSION_VERSION' => 1,
-                        'AC_DEFUN' => 1,
+                        '_LT_AC_LANG_CXX' => 1,
+                        'AM_PROG_INSTALL_SH' => 1,
+                        '_LT_LINKER_OPTION' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
                         '_LT_PROG_LTMAIN' => 1,
                         '_LT_PROG_LTMAIN' => 1,
-                        'LT_PROG_RC' => 1,
-                        '_LT_AC_SYS_COMPILER' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
-                        '_LT_PROG_F77' => 1,
-                        'AC_PATH_MAGIC' => 1,
+                        'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
+                        'AM_SUBST_NOTMAKE' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        '_LT_AC_LANG_CXX_CONFIG' => 1,
+                        'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
+                        '_LT_CC_BASENAME' => 1,
                         '_LT_PROG_ECHO_BACKSLASH' => 1,
                         '_LT_PROG_ECHO_BACKSLASH' => 1,
-                        'AC_LTDL_PREOPEN' => 1,
-                        '_LT_AC_TAGVAR' => 1,
-                        'AM_PROG_INSTALL_SH' => 1,
-                        'm4_include' => 1,
+                        'AM_SET_DEPDIR' => 1,
+                        '_LT_PREPARE_SED_QUOTE_VARS' => 1,
+                        'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
+                        '_LT_AC_LANG_F77' => 1,
+                        'm4_pattern_allow' => 1,
+                        'gl_PREREQ_ARGZ' => 1,
+                        'AC_LIBLTDL_INSTALLABLE' => 1,
+                        'AC_DISABLE_STATIC' => 1,
                         '_AM_SUBST_NOTMAKE' => 1,
                         '_AM_SUBST_NOTMAKE' => 1,
-                        'AC_LTDL_SHLIBEXT' => 1,
+                        'LTSUGAR_VERSION' => 1,
+                        'AC_LIBTOOL_COMPILER_OPTION' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
+                        'LT_LANG' => 1,
+                        'LT_WITH_LTDL' => 1,
+                        '_AM_PROG_CC_C_O' => 1,
+                        'gl_VISIBILITY' => 1,
+                        '_AM_SET_OPTION' => 1,
+                        '_LT_AC_TRY_DLOPEN_SELF' => 1,
+                        'AM_SILENT_RULES' => 1,
+                        'AM_MISSING_HAS_RUN' => 1,
+                        '_LT_AC_SYS_LIBPATH_AIX' => 1,
+                        '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
+                        '_LT_COMPILER_OPTION' => 1,
+                        'AC_LIBTOOL_CONFIG' => 1,
+                        'AC_PROG_LD' => 1,
+                        'AC_LTDL_DLLIB' => 1,
                         'LT_SYS_DLOPEN_SELF' => 1,
                         'LT_SYS_DLOPEN_SELF' => 1,
-                        'AC_ENABLE_STATIC' => 1,
                         '_LT_WITH_SYSROOT' => 1,
                         '_LT_WITH_SYSROOT' => 1,
-                        'AM_MAKE_INCLUDE' => 1,
-                        'AC_LIBTOOL_CONFIG' => 1,
-                        'AM_ENABLE_SHARED' => 1,
-                        'AM_ENABLE_STATIC' => 1,
+                        'AM_PROG_LD' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_LIBTOOL_PROG_CC_C_O' => 1,
+                        'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
+                        'AM_DISABLE_STATIC' => 1,
+                        'AC_CONFIG_MACRO_DIR' => 1,
                         'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
                         'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
-                        'AC_LIBTOOL_GCJ' => 1,
-                        'LT_SYS_MODULE_EXT' => 1,
-                        'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
-                        'LT_AC_PROG_EGREP' => 1,
+                        'AC_LTDL_OBJDIR' => 1,
+                        'AC_DEFUN' => 1,
+                        '_AM_CONFIG_MACRO_DIRS' => 1,
+                        'AM_PROG_INSTALL_STRIP' => 1,
+                        'AM_SET_LEADING_DOT' => 1,
+                        'LT_OUTPUT' => 1,
+                        '_LT_AC_SHELL_INIT' => 1,
+                        'AM_ENABLE_SHARED' => 1,
                         'LT_SYS_DLOPEN_DEPLIBS' => 1,
                         'LT_SYS_DLOPEN_DEPLIBS' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
-                        'LTOBSOLETE_VERSION' => 1,
-                        'AM_DISABLE_STATIC' => 1,
-                        'AC_LIBLTDL_CONVENIENCE' => 1,
-                        'AC_LIBTOOL_WIN32_DLL' => 1,
-                        '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+                        '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+                        '_LT_PATH_TOOL_PREFIX' => 1,
+                        'AC_LIBTOOL_DLOPEN' => 1,
+                        'LT_AC_PROG_GCJ' => 1,
+                        'AC_ENABLE_SHARED' => 1,
+                        'AC_LTDL_SHLIBPATH' => 1,
                         'LT_SYS_SYMBOL_USCORE' => 1,
                         'LT_SYS_SYMBOL_USCORE' => 1,
-                        'AC_CONFIG_MACRO_DIR_TRACE' => 1,
-                        '_AM_AUTOCONF_VERSION' => 1,
-                        'AC_DISABLE_SHARED' => 1,
-                        '_AM_PROG_CC_C_O' => 1,
-                        'AM_PROG_LIBTOOL' => 1,
-                        'AC_LTDL_DLSYM_USCORE' => 1,
+                        'AC_LTDL_SYMBOL_USCORE' => 1,
                         'AM_PROG_NM' => 1,
                         'AM_PROG_NM' => 1,
+                        'LT_SYS_DLSEARCH_PATH' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'AC_ENABLE_FAST_INSTALL' => 1,
+                        '_AM_MANGLE_OPTION' => 1,
+                        '_LT_AC_LANG_F77_CONFIG' => 1,
+                        '_LT_COMPILER_BOILERPLATE' => 1,
+                        'LTVERSION_VERSION' => 1,
                         'LT_FUNC_DLSYM_USCORE' => 1,
                         'LT_FUNC_DLSYM_USCORE' => 1,
-                        'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
-                        '_AM_SET_OPTIONS' => 1,
-                        'AC_LIBTOOL_FC' => 1,
                         '_LT_AC_LANG_GCJ_CONFIG' => 1,
                         '_LT_AC_LANG_GCJ_CONFIG' => 1,
-                        'AC_DEPLIBS_CHECK_METHOD' => 1,
-                        'LT_SYS_DLSEARCH_PATH' => 1,
-                        '_LT_AC_LANG_C_CONFIG' => 1,
-                        'AM_PROG_INSTALL_STRIP' => 1,
-                        '_LT_AC_SYS_LIBPATH_AIX' => 1,
-                        '_LT_AC_LANG_CXX' => 1,
-                        'LT_SYS_MODULE_PATH' => 1,
-                        '_LT_AC_LANG_RC_CONFIG' => 1,
-                        'include' => 1,
+                        'AC_LTDL_PREOPEN' => 1,
+                        'AC_DEFUN_ONCE' => 1,
+                        'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
                         '_AM_DEPENDENCIES' => 1,
                         '_AM_DEPENDENCIES' => 1,
-                        '_m4_warn' => 1,
-                        'm4_pattern_allow' => 1,
+                        '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+                        'LT_SYS_MODULE_EXT' => 1,
+                        'AC_LIBLTDL_CONVENIENCE' => 1,
+                        'LT_INIT' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'AC_DISABLE_SHARED' => 1,
+                        'AC_CONFIG_MACRO_DIR_TRACE' => 1,
                         'LT_PROG_GO' => 1,
                         'LT_PROG_GO' => 1,
-                        'LTDL_INSTALLABLE' => 1,
-                        '_AM_SET_OPTION' => 1,
-                        'AC_CONFIG_MACRO_DIR' => 1,
-                        'AC_LIBTOOL_CXX' => 1,
-                        'LTSUGAR_VERSION' => 1,
-                        'AM_SET_LEADING_DOT' => 1,
-                        'LT_PATH_LD' => 1,
-                        'AM_PROG_LD' => 1,
-                        '_LTDL_SETUP' => 1,
-                        'AC_LIBTOOL_RC' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'AC_PROG_LD' => 1,
-                        'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'AC_LIBTOOL_DLOPEN' => 1,
-                        'LTOPTIONS_VERSION' => 1,
-                        '_AC_PROG_LIBTOOL' => 1,
-                        'LT_AC_PROG_SED' => 1,
-                        '_LT_AC_LANG_CXX_CONFIG' => 1,
-                        'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
                         'AC_LTDL_SYSSEARCHPATH' => 1,
                         'AC_LTDL_SYSSEARCHPATH' => 1,
+                        'LTOPTIONS_VERSION' => 1,
+                        'AC_LIBTOOL_WIN32_DLL' => 1,
+                        'AC_PROG_LD_GNU' => 1,
                         'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
                         'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
+                        'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
+                        'm4_include' => 1,
+                        'LTDL_INIT' => 1,
+                        'AC_STRUCT_OPTION_GETOPT_H' => 1,
+                        'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
+                        'AC_LIBTOOL_RC' => 1,
+                        'LTDL_INSTALLABLE' => 1,
+                        'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
+                        'AM_PROG_LIBTOOL' => 1,
+                        '_LT_AC_FILE_LTDLL_C' => 1,
+                        '_LT_PROG_CXX' => 1,
+                        'LT_PROG_GCJ' => 1,
+                        '_AM_PROG_TAR' => 1,
+                        'AC_LIBTOOL_LANG_C_CONFIG' => 1,
+                        '_LT_AC_TAGVAR' => 1,
+                        'gl_FUNC_ARGZ' => 1,
+                        'AM_DISABLE_SHARED' => 1,
+                        'AM_ENABLE_STATIC' => 1,
                         '_AM_IF_OPTION' => 1,
                         '_AM_IF_OPTION' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'AC_LTDL_OBJDIR' => 1,
-                        'AC_LIBTOOL_COMPILER_OPTION' => 1,
-                        '_LT_AC_LANG_F77' => 1,
-                        'AC_LIBTOOL_LINKER_OPTION' => 1,
+                        'AM_SANITY_CHECK' => 1,
+                        'AC_LIBTOOL_FC' => 1,
+                        'AC_LIB_LTDL' => 1,
                         'AM_DEP_TRACK' => 1,
                         'AM_DEP_TRACK' => 1,
-                        '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
-                        '_AM_MANGLE_OPTION' => 1,
-                        'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1
+                        'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
+                        'AC_PROG_NM' => 1,
+                        'LT_AC_PROG_SED' => 1,
+                        'AC_DEPLIBS_CHECK_METHOD' => 1,
+                        'LT_AC_PROG_RC' => 1,
+                        'AC_LIBTOOL_PICMODE' => 1,
+                        'LT_PATH_NM' => 1,
+                        'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+                        '_AC_PROG_LIBTOOL' => 1,
+                        '_LT_AC_CHECK_DLFCN' => 1,
+                        'LTOBSOLETE_VERSION' => 1,
+                        'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
+                        '_LT_PROG_FC' => 1,
+                        'AC_LIBTOOL_F77' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        'LT_PROG_RC' => 1,
+                        'LT_LIB_M' => 1,
+                        'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
+                        '_LT_PROG_F77' => 1,
+                        'AC_PROG_EGREP' => 1,
+                        'AC_WITH_LTDL' => 1,
+                        'AC_PATH_TOOL_PREFIX' => 1,
+                        'LT_LIB_DLLOAD' => 1,
+                        'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
+                        'LT_SYS_MODULE_PATH' => 1,
+                        'AM_MAKE_INCLUDE' => 1,
+                        '_LT_AC_LOCK' => 1,
+                        '_AM_AUTOCONF_VERSION' => 1,
+                        '_LT_AC_LANG_RC_CONFIG' => 1
                       }
                       }
                     ], 'Autom4te::Request' ),
                     ], 'Autom4te::Request' ),
              bless( [
              bless( [
@@ -239,66 +239,66 @@
                         'configure.ac'
                         'configure.ac'
                       ],
                       ],
                       {
                       {
-                        '_AM_COND_IF' => 1,
-                        'AC_CANONICAL_HOST' => 1,
-                        'LT_INIT' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'm4_sinclude' => 1,
-                        'AC_CANONICAL_SYSTEM' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
-                        'AM_GNU_GETTEXT' => 1,
-                        'AC_FC_PP_SRCEXT' => 1,
-                        'AM_PROG_FC_C_O' => 1,
-                        'AH_OUTPUT' => 1,
+                        'AM_XGETTEXT_OPTION' => 1,
+                        'AM_PROG_MKDIR_P' => 1,
+                        'm4_include' => 1,
+                        'AM_SILENT_RULES' => 1,
                         'AC_CONFIG_FILES' => 1,
                         'AC_CONFIG_FILES' => 1,
-                        'AM_PROG_CC_C_O' => 1,
-                        'AC_FC_FREEFORM' => 1,
-                        'AM_NLS' => 1,
-                        'AC_FC_SRCEXT' => 1,
                         'AM_POT_TOOLS' => 1,
                         'AM_POT_TOOLS' => 1,
+                        'LT_CONFIG_LTDL_DIR' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
                         'AC_FC_PP_DEFINE' => 1,
                         'AC_FC_PP_DEFINE' => 1,
-                        'm4_pattern_allow' => 1,
-                        'AC_CONFIG_LINKS' => 1,
-                        '_AM_COND_ELSE' => 1,
-                        'include' => 1,
+                        'sinclude' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
+                        'AM_PATH_GUILE' => 1,
+                        'AC_CONFIG_HEADERS' => 1,
+                        'AC_CANONICAL_TARGET' => 1,
+                        '_AM_COND_ENDIF' => 1,
+                        'AM_PROG_LIBTOOL' => 1,
+                        'AC_FC_SRCEXT' => 1,
+                        'AH_OUTPUT' => 1,
+                        'AC_CANONICAL_SYSTEM' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'AC_SUBST' => 1,
                         'AC_INIT' => 1,
                         'AC_INIT' => 1,
-                        '_AM_MAKEFILE_INCLUDE' => 1,
+                        '_AM_COND_IF' => 1,
                         'AC_LIBSOURCE' => 1,
                         'AC_LIBSOURCE' => 1,
-                        'AM_SILENT_RULES' => 1,
-                        'AM_EXTRA_RECURSIVE_TARGETS' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
-                        '_m4_warn' => 1,
-                        'm4_include' => 1,
+                        '_AM_COND_ELSE' => 1,
+                        'AC_CONFIG_SUBDIRS' => 1,
+                        '_AM_MAKEFILE_INCLUDE' => 1,
                         'AC_CONFIG_LIBOBJ_DIR' => 1,
                         'AC_CONFIG_LIBOBJ_DIR' => 1,
-                        'AC_SUBST' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
-                        'AM_XGETTEXT_OPTION' => 1,
-                        'AC_REQUIRE_AUX_FILE' => 1,
-                        'AM_PROG_F77_C_O' => 1,
+                        'AC_SUBST_TRACE' => 1,
+                        'AM_NLS' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'm4_pattern_forbid' => 1,
+                        'm4_sinclude' => 1,
+                        'AC_CANONICAL_BUILD' => 1,
+                        'AM_PROG_MOC' => 1,
+                        'AC_FC_PP_SRCEXT' => 1,
+                        'AC_FC_FREEFORM' => 1,
                         '_LT_AC_TAGCONFIG' => 1,
                         '_LT_AC_TAGCONFIG' => 1,
+                        'AM_PROG_AR' => 1,
+                        'AM_PROG_F77_C_O' => 1,
+                        '_m4_warn' => 1,
+                        'AM_PROG_CC_C_O' => 1,
                         'AM_MAINTAINER_MODE' => 1,
                         'AM_MAINTAINER_MODE' => 1,
-                        'AC_SUBST_TRACE' => 1,
+                        'AC_CANONICAL_HOST' => 1,
+                        'AC_DEFINE_TRACE_LITERAL' => 1,
                         'AC_CONFIG_AUX_DIR' => 1,
                         'AC_CONFIG_AUX_DIR' => 1,
-                        'AC_CANONICAL_TARGET' => 1,
-                        '_AM_COND_ENDIF' => 1,
+                        'AC_REQUIRE_AUX_FILE' => 1,
+                        'AM_EXTRA_RECURSIVE_TARGETS' => 1,
+                        'AM_GNU_GETTEXT' => 1,
+                        'LT_INIT' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'm4_pattern_allow' => 1,
+                        'include' => 1,
                         'AM_ENABLE_MULTILIB' => 1,
                         'AM_ENABLE_MULTILIB' => 1,
-                        'AM_PROG_MKDIR_P' => 1,
-                        'AC_CANONICAL_BUILD' => 1,
-                        'LT_CONFIG_LTDL_DIR' => 1,
-                        'AM_MAKEFILE_INCLUDE' => 1,
-                        'AC_DEFINE_TRACE_LITERAL' => 1,
+                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1,
                         'AM_PROG_CXX_C_O' => 1,
                         'AM_PROG_CXX_C_O' => 1,
-                        'AC_CONFIG_SUBDIRS' => 1,
-                        'AM_PATH_GUILE' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        'AM_PROG_LIBTOOL' => 1,
-                        'AM_PROG_AR' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'AM_PROG_MOC' => 1,
-                        'AC_CONFIG_HEADERS' => 1,
-                        'sinclude' => 1,
-                        'AM_GNU_GETTEXT_INTL_SUBDIR' => 1
+                        'AC_CONFIG_LINKS' => 1,
+                        'AM_PROG_FC_C_O' => 1,
+                        'AM_MAKEFILE_INCLUDE' => 1
                       }
                       }
                     ], 'Autom4te::Request' ),
                     ], 'Autom4te::Request' ),
              bless( [
              bless( [
@@ -341,188 +341,188 @@
                         'configure.ac'
                         'configure.ac'
                       ],
                       ],
                       {
                       {
-                        'AM_SILENT_RULES' => 1,
-                        '_LT_LIBOBJ' => 1,
-                        'AC_LIB_LTDL' => 1,
-                        'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
-                        '_LT_CC_BASENAME' => 1,
-                        'AC_PROG_LD_RELOAD_FLAG' => 1,
-                        '_LT_LINKER_OPTION' => 1,
-                        'LT_OUTPUT' => 1,
-                        'LT_LIB_DLLOAD' => 1,
-                        'AC_LTDL_DLLIB' => 1,
-                        'AM_DISABLE_SHARED' => 1,
-                        'gl_PREREQ_ARGZ' => 1,
-                        'AC_PROG_EGREP' => 1,
-                        'gl_VISIBILITY' => 1,
-                        '_LT_COMPILER_BOILERPLATE' => 1,
-                        'AC_DISABLE_FAST_INSTALL' => 1,
-                        'AM_MISSING_HAS_RUN' => 1,
-                        'AM_SUBST_NOTMAKE' => 1,
+                        'LTDL_INSTALLABLE' => 1,
+                        'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
                         '_LT_AC_FILE_LTDLL_C' => 1,
                         '_LT_AC_FILE_LTDLL_C' => 1,
-                        'LT_PROG_GCJ' => 1,
-                        '_LT_REQUIRED_DARWIN_CHECKS' => 1,
-                        'AC_DEFUN_ONCE' => 1,
-                        'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
-                        'AC_LIBTOOL_SETUP' => 1,
-                        'LT_PATH_NM' => 1,
-                        'AM_SET_DEPDIR' => 1,
-                        'AC_PROG_NM' => 1,
-                        'AC_LIBLTDL_INSTALLABLE' => 1,
                         '_LT_PROG_CXX' => 1,
                         '_LT_PROG_CXX' => 1,
-                        'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
-                        'AM_CONDITIONAL' => 1,
-                        'AC_LTDL_ENABLE_INSTALL' => 1,
-                        'AC_DISABLE_STATIC' => 1,
-                        'AM_MISSING_PROG' => 1,
-                        'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1,
-                        'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
-                        'AC_ENABLE_SHARED' => 1,
-                        'AC_STRUCT_TIMEZONE_DAYLIGHT' => 1,
-                        'AC_LIBTOOL_OBJDIR' => 1,
-                        '_LT_AC_LOCK' => 1,
-                        'AM_SANITY_CHECK' => 1,
-                        '_LT_AC_TAGCONFIG' => 1,
+                        'AM_PROG_LIBTOOL' => 1,
+                        '_LT_AC_TAGVAR' => 1,
+                        'LT_PROG_GCJ' => 1,
+                        '_AM_PROG_TAR' => 1,
+                        'AC_LIBTOOL_LANG_C_CONFIG' => 1,
+                        'LTOPTIONS_VERSION' => 1,
+                        'AC_LTDL_SYSSEARCHPATH' => 1,
+                        'AC_LIBTOOL_WIN32_DLL' => 1,
                         'AC_PROG_LD_GNU' => 1,
                         'AC_PROG_LD_GNU' => 1,
-                        '_LT_AC_LANG_F77_CONFIG' => 1,
+                        'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
+                        'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
                         'AC_STRUCT_OPTION_GETOPT_H' => 1,
                         'AC_STRUCT_OPTION_GETOPT_H' => 1,
-                        'AC_LIBTOOL_F77' => 1,
-                        'AC_LTDL_SYMBOL_USCORE' => 1,
-                        '_LT_AC_PROG_CXXCPP' => 1,
-                        '_LT_PREPARE_SED_QUOTE_VARS' => 1,
-                        'LTDL_CONVENIENCE' => 1,
-                        'AC_LIBTOOL_PICMODE' => 1,
-                        'AC_CHECK_LIBM' => 1,
-                        'LT_LANG' => 1,
-                        'AC_LIBTOOL_DLOPEN_SELF' => 1,
-                        '_LT_PROG_FC' => 1,
+                        'm4_include' => 1,
+                        'LTDL_INIT' => 1,
+                        'AC_LIBTOOL_RC' => 1,
+                        'AC_LIBTOOL_LANG_RC_CONFIG' => 1,
+                        '_LT_AC_LANG_GCJ_CONFIG' => 1,
+                        'LTVERSION_VERSION' => 1,
+                        'LT_FUNC_DLSYM_USCORE' => 1,
+                        'AC_LTDL_PREOPEN' => 1,
+                        'AC_DEFUN_ONCE' => 1,
+                        'AC_LIBLTDL_CONVENIENCE' => 1,
+                        'LT_SYS_MODULE_EXT' => 1,
+                        'AC_LIBTOOL_PROG_COMPILER_PIC' => 1,
+                        '_AC_AM_CONFIG_HEADER_HOOK' => 1,
+                        '_AM_DEPENDENCIES' => 1,
+                        'LT_PROG_GO' => 1,
+                        'AC_CONFIG_MACRO_DIR_TRACE' => 1,
+                        'AC_PROG_LIBTOOL' => 1,
+                        'AC_DISABLE_SHARED' => 1,
+                        'LT_INIT' => 1,
                         'LT_AC_PROG_GCJ' => 1,
                         'LT_AC_PROG_GCJ' => 1,
                         '_LT_PATH_TOOL_PREFIX' => 1,
                         '_LT_PATH_TOOL_PREFIX' => 1,
-                        'AM_RUN_LOG' => 1,
-                        '_AM_PROG_TAR' => 1,
-                        'AU_DEFUN' => 1,
-                        'AC_WITH_LTDL' => 1,
-                        'LT_CMD_MAX_LEN' => 1,
-                        'AM_AUX_DIR_EXPAND' => 1,
-                        'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
-                        '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
-                        'LTDL_INIT' => 1,
-                        'AC_LIBTOOL_LANG_C_CONFIG' => 1,
-                        'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
-                        'AM_PROG_CC_C_O' => 1,
-                        'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
-                        '_LT_AC_CHECK_DLFCN' => 1,
+                        'AC_LIBTOOL_DLOPEN' => 1,
+                        '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
                         'AC_LTDL_SHLIBPATH' => 1,
                         'AC_LTDL_SHLIBPATH' => 1,
-                        '_LT_AC_SHELL_INIT' => 1,
-                        '_LT_AC_LANG_GCJ' => 1,
-                        '_LT_COMPILER_OPTION' => 1,
+                        'LT_SYS_SYMBOL_USCORE' => 1,
+                        'AC_ENABLE_SHARED' => 1,
+                        'AM_PROG_NM' => 1,
+                        'LT_SYS_DLSEARCH_PATH' => 1,
+                        'AC_LTDL_SYMBOL_USCORE' => 1,
+                        'm4_pattern_forbid' => 1,
+                        '_LT_AC_LANG_F77_CONFIG' => 1,
+                        '_AM_MANGLE_OPTION' => 1,
+                        '_LT_COMPILER_BOILERPLATE' => 1,
                         'AC_ENABLE_FAST_INSTALL' => 1,
                         'AC_ENABLE_FAST_INSTALL' => 1,
-                        'AC_LIBTOOL_PROG_CC_C_O' => 1,
                         'AC_PATH_TOOL_PREFIX' => 1,
                         'AC_PATH_TOOL_PREFIX' => 1,
+                        'AC_WITH_LTDL' => 1,
+                        'AC_PROG_EGREP' => 1,
+                        'LT_SYS_MODULE_PATH' => 1,
+                        'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
+                        'LT_LIB_DLLOAD' => 1,
+                        'AM_MAKE_INCLUDE' => 1,
+                        '_LT_AC_LANG_RC_CONFIG' => 1,
+                        '_AM_AUTOCONF_VERSION' => 1,
+                        '_LT_AC_LOCK' => 1,
+                        'AC_LIBTOOL_F77' => 1,
+                        'AM_AUTOMAKE_VERSION' => 1,
+                        '_LT_PROG_FC' => 1,
+                        'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
+                        'LT_PROG_RC' => 1,
+                        '_LT_PROG_F77' => 1,
+                        'LT_LIB_M' => 1,
+                        'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
+                        'LT_AC_PROG_SED' => 1,
+                        'AC_PROG_NM' => 1,
+                        'LT_PATH_NM' => 1,
+                        'AC_DEPLIBS_CHECK_METHOD' => 1,
+                        'AC_LIBTOOL_PICMODE' => 1,
+                        'LT_AC_PROG_RC' => 1,
+                        '_LT_AC_CHECK_DLFCN' => 1,
+                        'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
+                        '_AC_PROG_LIBTOOL' => 1,
+                        'LTOBSOLETE_VERSION' => 1,
+                        '_AM_IF_OPTION' => 1,
                         'gl_FUNC_ARGZ' => 1,
                         'gl_FUNC_ARGZ' => 1,
-                        'LT_INIT' => 1,
+                        'AM_ENABLE_STATIC' => 1,
+                        'AM_DISABLE_SHARED' => 1,
+                        'AC_LIBTOOL_FC' => 1,
+                        'AC_LIB_LTDL' => 1,
+                        'AM_SANITY_CHECK' => 1,
+                        'AC_LIBTOOL_SYS_DYNAMIC_LINKER' => 1,
+                        'AM_DEP_TRACK' => 1,
+                        '_LT_AC_LANG_C_CONFIG' => 1,
+                        'AC_LIBTOOL_OBJDIR' => 1,
+                        'AM_PROG_INSTALL_SH' => 1,
+                        '_LT_LINKER_OPTION' => 1,
+                        'LT_CMD_MAX_LEN' => 1,
+                        '_LT_AC_LANG_CXX' => 1,
                         'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
                         'AM_SET_CURRENT_AUTOMAKE_VERSION' => 1,
-                        '_LT_LINKER_BOILERPLATE' => 1,
-                        'LT_AC_PROG_RC' => 1,
-                        'LT_LIB_M' => 1,
-                        'LT_WITH_LTDL' => 1,
+                        '_LT_PROG_LTMAIN' => 1,
+                        'AM_SUBST_NOTMAKE' => 1,
+                        'AM_INIT_AUTOMAKE' => 1,
+                        'AC_LTDL_ENABLE_INSTALL' => 1,
                         'LT_CONFIG_LTDL_DIR' => 1,
                         'LT_CONFIG_LTDL_DIR' => 1,
-                        'AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
-                        'AC_LIBTOOL_SYS_LIB_STRIP' => 1,
+                        'AC_LIBTOOL_LINKER_OPTION' => 1,
                         '_LT_AC_SYS_COMPILER' => 1,
                         '_LT_AC_SYS_COMPILER' => 1,
-                        'LT_PROG_RC' => 1,
-                        '_LT_PROG_LTMAIN' => 1,
-                        'AC_DEFUN' => 1,
-                        'LTVERSION_VERSION' => 1,
-                        '_LT_AC_TRY_DLOPEN_SELF' => 1,
-                        '_AM_CONFIG_MACRO_DIRS' => 1,
-                        '_LT_PROG_ECHO_BACKSLASH' => 1,
-                        'AC_PATH_MAGIC' => 1,
-                        '_LT_PROG_F77' => 1,
-                        'AM_AUTOMAKE_VERSION' => 1,
+                        'AC_STRUCT_TIMEZONE_DAYLIGHT' => 1,
+                        'LT_AC_PROG_EGREP' => 1,
+                        'AC_LIBTOOL_SYS_MAX_CMD_LEN' => 1,
+                        'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
+                        '_LT_LINKER_BOILERPLATE' => 1,
+                        'AM_MISSING_PROG' => 1,
+                        '_LT_AC_LANG_GCJ' => 1,
+                        'LT_PATH_LD' => 1,
                         'AC_LTDL_SHLIBEXT' => 1,
                         'AC_LTDL_SHLIBEXT' => 1,
-                        '_AM_SUBST_NOTMAKE' => 1,
-                        'm4_include' => 1,
-                        '_LT_AC_TAGVAR' => 1,
-                        'AC_LTDL_PREOPEN' => 1,
-                        'AM_PROG_INSTALL_SH' => 1,
-                        'AM_ENABLE_SHARED' => 1,
-                        'AC_LIBTOOL_CONFIG' => 1,
-                        'AM_MAKE_INCLUDE' => 1,
                         'AC_ENABLE_STATIC' => 1,
                         'AC_ENABLE_STATIC' => 1,
-                        '_LT_WITH_SYSROOT' => 1,
-                        'LT_SYS_DLOPEN_SELF' => 1,
+                        'AC_DISABLE_FAST_INSTALL' => 1,
+                        'LTDL_CONVENIENCE' => 1,
+                        '_LT_AC_PROG_CXXCPP' => 1,
+                        '_LT_LIBOBJ' => 1,
+                        'AM_AUX_DIR_EXPAND' => 1,
+                        'include' => 1,
+                        'AC_PROG_LD_RELOAD_FLAG' => 1,
+                        'AC_LTDL_SYS_DLOPEN_DEPLIBS' => 1,
+                        'AM_RUN_LOG' => 1,
                         'AC_LIBTOOL_GCJ' => 1,
                         'AC_LIBTOOL_GCJ' => 1,
-                        'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
-                        'AM_ENABLE_STATIC' => 1,
-                        'AC_LIBLTDL_CONVENIENCE' => 1,
-                        'AC_LIBTOOL_WIN32_DLL' => 1,
-                        'AM_DISABLE_STATIC' => 1,
-                        'LTOBSOLETE_VERSION' => 1,
-                        'LT_SUPPORTED_TAG' => 1,
-                        'LT_AC_PROG_EGREP' => 1,
-                        'AC_LIBTOOL_PROG_LD_SHLIBS' => 1,
-                        'LT_SYS_DLOPEN_DEPLIBS' => 1,
-                        'LT_SYS_MODULE_EXT' => 1,
-                        '_AM_AUTOCONF_VERSION' => 1,
-                        'AC_CONFIG_MACRO_DIR_TRACE' => 1,
-                        'LT_SYS_SYMBOL_USCORE' => 1,
-                        '_AC_AM_CONFIG_HEADER_HOOK' => 1,
-                        'AM_PROG_LIBTOOL' => 1,
-                        '_AM_PROG_CC_C_O' => 1,
-                        'AC_DISABLE_SHARED' => 1,
-                        '_LT_AC_LANG_C_CONFIG' => 1,
-                        'LT_SYS_DLSEARCH_PATH' => 1,
-                        'AC_LIBTOOL_FC' => 1,
-                        '_LT_AC_LANG_GCJ_CONFIG' => 1,
-                        'AC_DEPLIBS_CHECK_METHOD' => 1,
-                        'LT_FUNC_DLSYM_USCORE' => 1,
                         '_AM_SET_OPTIONS' => 1,
                         '_AM_SET_OPTIONS' => 1,
-                        'AM_PROG_NM' => 1,
-                        'AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH' => 1,
-                        'AC_LTDL_DLSYM_USCORE' => 1,
-                        '_LT_AC_LANG_CXX' => 1,
-                        '_LT_AC_SYS_LIBPATH_AIX' => 1,
-                        'AM_PROG_INSTALL_STRIP' => 1,
-                        '_AM_DEPENDENCIES' => 1,
+                        'AC_LIBTOOL_SETUP' => 1,
+                        'AC_LIBTOOL_DLOPEN_SELF' => 1,
+                        '_LT_REQUIRED_DARWIN_CHECKS' => 1,
+                        'AU_DEFUN' => 1,
+                        'AC_PATH_MAGIC' => 1,
+                        'AC_CHECK_LIBM' => 1,
+                        '_LTDL_SETUP' => 1,
                         '_m4_warn' => 1,
                         '_m4_warn' => 1,
-                        '_LT_AC_LANG_RC_CONFIG' => 1,
-                        'include' => 1,
-                        'LT_SYS_MODULE_PATH' => 1,
+                        'AC_LTDL_DLSYM_USCORE' => 1,
+                        'AC_LIBTOOL_CXX' => 1,
+                        '_LT_AC_TAGCONFIG' => 1,
+                        '_LT_COMPILER_OPTION' => 1,
+                        'AC_LIBTOOL_CONFIG' => 1,
+                        'AC_LIBTOOL_SYS_OLD_ARCHIVE' => 1,
+                        'AM_CONDITIONAL' => 1,
+                        'AC_LIBTOOL_PROG_CC_C_O' => 1,
+                        'AM_DISABLE_STATIC' => 1,
                         'AC_CONFIG_MACRO_DIR' => 1,
                         'AC_CONFIG_MACRO_DIR' => 1,
-                        '_AM_SET_OPTION' => 1,
-                        'LTDL_INSTALLABLE' => 1,
-                        'LT_PROG_GO' => 1,
-                        'm4_pattern_allow' => 1,
+                        'LT_SYS_DLOPEN_SELF' => 1,
+                        'AC_LTDL_DLLIB' => 1,
+                        'AC_PROG_LD' => 1,
                         'AM_PROG_LD' => 1,
                         'AM_PROG_LD' => 1,
-                        'LT_PATH_LD' => 1,
+                        '_LT_WITH_SYSROOT' => 1,
+                        'AM_PROG_INSTALL_STRIP' => 1,
+                        'AC_DEFUN' => 1,
                         'AM_SET_LEADING_DOT' => 1,
                         'AM_SET_LEADING_DOT' => 1,
-                        'LTSUGAR_VERSION' => 1,
-                        'AC_LIBTOOL_CXX' => 1,
-                        '_AC_PROG_LIBTOOL' => 1,
-                        'LTOPTIONS_VERSION' => 1,
-                        'AC_LIBTOOL_DLOPEN' => 1,
-                        'AC_LIBTOOL_LANG_F77_CONFIG' => 1,
-                        'm4_pattern_forbid' => 1,
-                        'AM_INIT_AUTOMAKE' => 1,
-                        'AC_PROG_LD' => 1,
-                        '_LTDL_SETUP' => 1,
-                        'AC_LIBTOOL_RC' => 1,
-                        '_AM_IF_OPTION' => 1,
-                        'AC_LTDL_SYSSEARCHPATH' => 1,
-                        'AC_LIBTOOL_LANG_CXX_CONFIG' => 1,
-                        'AC_LIBTOOL_PROG_COMPILER_NO_RTTI' => 1,
-                        '_LT_AC_LANG_CXX_CONFIG' => 1,
-                        'LT_AC_PROG_SED' => 1,
-                        'AC_LIBTOOL_COMPILER_OPTION' => 1,
+                        '_AM_CONFIG_MACRO_DIRS' => 1,
                         'AC_LTDL_OBJDIR' => 1,
                         'AC_LTDL_OBJDIR' => 1,
-                        'AC_PROG_LIBTOOL' => 1,
-                        'AC_LIBTOOL_LINKER_OPTION' => 1,
+                        'AC_LIBTOOL_LANG_GCJ_CONFIG' => 1,
+                        'LT_SYS_DLOPEN_DEPLIBS' => 1,
+                        'LT_OUTPUT' => 1,
+                        '_LT_AC_SHELL_INIT' => 1,
+                        'AM_ENABLE_SHARED' => 1,
+                        'AC_LIBTOOL_COMPILER_OPTION' => 1,
+                        'LT_WITH_LTDL' => 1,
+                        '_AM_PROG_CC_C_O' => 1,
+                        'LT_SUPPORTED_TAG' => 1,
+                        'LT_LANG' => 1,
+                        '_AM_SET_OPTION' => 1,
+                        'gl_VISIBILITY' => 1,
+                        '_LT_AC_PROG_ECHO_BACKSLASH' => 1,
+                        '_LT_AC_TRY_DLOPEN_SELF' => 1,
+                        'AM_MISSING_HAS_RUN' => 1,
+                        'AM_SILENT_RULES' => 1,
+                        '_LT_AC_SYS_LIBPATH_AIX' => 1,
                         '_LT_AC_LANG_F77' => 1,
                         '_LT_AC_LANG_F77' => 1,
-                        'AC_LIBTOOL_SYS_HARD_LINK_LOCKS' => 1,
-                        '_AM_MANGLE_OPTION' => 1,
-                        '_AM_OUTPUT_DEPENDENCY_COMMANDS' => 1,
-                        'AM_DEP_TRACK' => 1
+                        'm4_pattern_allow' => 1,
+                        'gl_PREREQ_ARGZ' => 1,
+                        'AC_LIBLTDL_INSTALLABLE' => 1,
+                        'LTSUGAR_VERSION' => 1,
+                        '_AM_SUBST_NOTMAKE' => 1,
+                        'AC_DISABLE_STATIC' => 1,
+                        'AC_LIBTOOL_POSTDEP_PREDEP' => 1,
+                        '_LT_AC_LANG_CXX_CONFIG' => 1,
+                        'AM_PROG_CC_C_O' => 1,
+                        'AM_SET_DEPDIR' => 1,
+                        '_LT_PROG_ECHO_BACKSLASH' => 1,
+                        '_LT_CC_BASENAME' => 1,
+                        '_LT_PREPARE_SED_QUOTE_VARS' => 1,
+                        'AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE' => 1
                       }
                       }
                     ], 'Autom4te::Request' )
                     ], 'Autom4te::Request' )
            );
            );

+ 1 - 1
autom4te.cache/traces.1

@@ -4,7 +4,7 @@ m4trace:aclocal.m4:1230: -1- m4_include([m4/ltsugar.m4])
 m4trace:aclocal.m4:1231: -1- m4_include([m4/ltversion.m4])
 m4trace:aclocal.m4:1231: -1- m4_include([m4/ltversion.m4])
 m4trace:aclocal.m4:1232: -1- m4_include([m4/lt~obsolete.m4])
 m4trace:aclocal.m4:1232: -1- m4_include([m4/lt~obsolete.m4])
 m4trace:aclocal.m4:1233: -1- m4_include([acinclude.m4])
 m4trace:aclocal.m4:1233: -1- m4_include([acinclude.m4])
-m4trace:configure.ac:2: -1- AC_INIT([file], [5.21], [christos@astron.com])
+m4trace:configure.ac:2: -1- AC_INIT([file], [5.22], [christos@astron.com])
 m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
 m4trace:configure.ac:2: -1- m4_pattern_forbid([^_?A[CHUM]_])
 m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
 m4trace:configure.ac:2: -1- m4_pattern_forbid([_AC_])
 m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])
 m4trace:configure.ac:2: -1- m4_pattern_forbid([^LIBOBJS$], [do not use LIBOBJS directly, use AC_LIBOBJ (see section `AC_LIBOBJ vs LIBOBJS'])

+ 10 - 10
configure

@@ -1,6 +1,6 @@
 #! /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.69 for file 5.21.
+# Generated by GNU Autoconf 2.69 for file 5.22.
 #
 #
 # Report bugs to <christos@astron.com>.
 # Report bugs to <christos@astron.com>.
 #
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 # Identity of this package.
 PACKAGE_NAME='file'
 PACKAGE_NAME='file'
 PACKAGE_TARNAME='file'
 PACKAGE_TARNAME='file'
-PACKAGE_VERSION='5.21'
-PACKAGE_STRING='file 5.21'
+PACKAGE_VERSION='5.22'
+PACKAGE_STRING='file 5.22'
 PACKAGE_BUGREPORT='christos@astron.com'
 PACKAGE_BUGREPORT='christos@astron.com'
 PACKAGE_URL=''
 PACKAGE_URL=''
 
 
@@ -1327,7 +1327,7 @@ if test "$ac_init_help" = "long"; then
   # Omit some internal or obsolete options to make the list less imposing.
   # 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.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
   cat <<_ACEOF
-\`configure' configures file 5.21 to adapt to many kinds of systems.
+\`configure' configures file 5.22 to adapt to many kinds of systems.
 
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
 
@@ -1397,7 +1397,7 @@ fi
 
 
 if test -n "$ac_init_help"; then
 if test -n "$ac_init_help"; then
   case $ac_init_help in
   case $ac_init_help in
-     short | recursive ) echo "Configuration of file 5.21:";;
+     short | recursive ) echo "Configuration of file 5.22:";;
    esac
    esac
   cat <<\_ACEOF
   cat <<\_ACEOF
 
 
@@ -1507,7 +1507,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
 if $ac_init_version; then
   cat <<\_ACEOF
   cat <<\_ACEOF
-file configure 5.21
+file configure 5.22
 generated by GNU Autoconf 2.69
 generated by GNU Autoconf 2.69
 
 
 Copyright (C) 2012 Free Software Foundation, Inc.
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2163,7 +2163,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 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 file $as_me 5.21, which was
+It was created by file $as_me 5.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
 
   $ $0 $@
   $ $0 $@
@@ -3029,7 +3029,7 @@ fi
 
 
 # Define the identity of the package.
 # Define the identity of the package.
  PACKAGE='file'
  PACKAGE='file'
- VERSION='5.21'
+ VERSION='5.22'
 
 
 
 
 cat >>confdefs.h <<_ACEOF
 cat >>confdefs.h <<_ACEOF
@@ -15014,7 +15014,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
 # report actual input values of CONFIG_FILES etc. instead of their
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 # values after options handling.
 ac_log="
 ac_log="
-This file was extended by file $as_me 5.21, which was
+This file was extended by file $as_me 5.22, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
 
   CONFIG_FILES    = $CONFIG_FILES
   CONFIG_FILES    = $CONFIG_FILES
@@ -15080,7 +15080,7 @@ _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_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
 ac_cs_version="\\
-file config.status 5.21
+file config.status 5.22
 configured by $0, generated by GNU Autoconf 2.69,
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
   with options \\"\$ac_cs_config\\"
 
 

+ 1 - 1
configure.ac

@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT([file],[5.21],[christos@astron.com])
+AC_INIT([file],[5.22],[christos@astron.com])
 AM_INIT_AUTOMAKE([subdir-objects foreign])
 AM_INIT_AUTOMAKE([subdir-objects foreign])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 
 

+ 7 - 2
doc/magic.man

@@ -1,5 +1,5 @@
-.\" $File: magic.man,v 1.83 2014/06/03 17:36:13 christos Exp $
-.Dd June 3, 2014
+.\" $File: magic.man,v 1.84 2014/06/03 19:01:34 christos Exp $
+.Dd January 1, 2015
 .Dt MAGIC __FSECTION__
 .Dt MAGIC __FSECTION__
 .Os
 .Os
 .\" install as magic.4 on USG, magic.5 on V7, Berkeley and Linux systems.
 .\" install as magic.4 on USG, magic.5 on V7, Berkeley and Linux systems.
@@ -200,6 +200,11 @@ interpreted as a UNIX-style date, but interpreted as local time rather
 than UTC.
 than UTC.
 .It Dv indirect
 .It Dv indirect
 Starting at the given offset, consult the magic database again.
 Starting at the given offset, consult the magic database again.
+The offset of th
+.Dv indirect
+magic is by default absolute in the file, but one can specify
+.Dv /r
+to indicate that the offset is relative from the beginning of the entry.
 .It Dv name
 .It Dv name
 Define a
 Define a
 .Dq named
 .Dq named

+ 2 - 2
magic/Magdir/cafebabe

@@ -1,6 +1,6 @@
 
 
 #------------------------------------------------------------------------------
 #------------------------------------------------------------------------------
-# $File: cafebabe,v 1.15 2014/03/14 18:47:29 christos Exp $
+# $File: cafebabe,v 1.16 2014/04/30 21:41:02 christos Exp $
 # Cafe Babes unite!
 # Cafe Babes unite!
 #
 #
 # Since Java bytecode and Mach-O universal binaries have the same magic number,
 # Since Java bytecode and Mach-O universal binaries have the same magic number,
@@ -45,7 +45,7 @@
 
 
 0	name		mach-o		\b [
 0	name		mach-o		\b [
 >0	use		mach-o-cpu	\b
 >0	use		mach-o-cpu	\b
->&(8.L)	indirect			\b: 
+>(8.L)	indirect			\b: 
 >0	belong		x		\b]
 >0	belong		x		\b]
 
 
 0	belong		0xcafebabe
 0	belong		0xcafebabe

+ 8 - 1
magic/Magdir/filesystems

@@ -1,5 +1,5 @@
 #------------------------------------------------------------------------------
 #------------------------------------------------------------------------------
-# $File: filesystems,v 1.106 2014/10/23 17:17:09 christos Exp $
+# $File: filesystems,v 1.107 2014/12/03 18:02:52 christos Exp $
 # filesystems:  file(1) magic for different filesystems
 # filesystems:  file(1) magic for different filesystems
 #
 #
 0	name	partid  
 0	name	partid  
@@ -260,6 +260,13 @@
 >>(11.s-2)	uleshort	0xAA55		DOS/MBR boot sector
 >>(11.s-2)	uleshort	0xAA55		DOS/MBR boot sector
 # for sector sizes with 512 or more Bytes
 # for sector sizes with 512 or more Bytes
 >0x1FE		leshort		0xAA55		DOS/MBR boot sector
 >0x1FE		leshort		0xAA55		DOS/MBR boot sector
+
+# keep old DOS/MBR boot sector as dummy for mbr and bootloader displaying
+# only for sector sizes with 512 or more Bytes
+0x1FE          leshort         0xAA55         	DOS/MBR boot sector
+#
+# to display information (50) before DOS BPB (strength=70) and after DOS floppy (120) like in old file version
+!:strength +65
 >2		string		OSBS		OS/BS MBR
 >2		string		OSBS		OS/BS MBR
 # added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/
 # added by Joerg Jenderek at Feb 2013 according to http://thestarman.pcministry.com/asm/mbr/
 # and http://en.wikipedia.org/wiki/Master_Boot_Record
 # and http://en.wikipedia.org/wiki/Master_Boot_Record

+ 66 - 5
magic/Magdir/images

@@ -1,6 +1,6 @@
 
 
 #------------------------------------------------------------------------------
 #------------------------------------------------------------------------------
-# $File: images,v 1.97 2014/12/08 16:06:19 christos Exp $
+# $File: images,v 1.101 2015/01/01 04:16:51 christos Exp $
 # images:  file(1) magic for image formats (see also "iff", and "c-lang" for
 # images:  file(1) magic for image formats (see also "iff", and "c-lang" for
 # XPM bitmaps)
 # XPM bitmaps)
 #
 #
@@ -125,6 +125,9 @@
 >2	use		tiff_entry
 >2	use		tiff_entry
 
 
 0	name		tiff_entry
 0	name		tiff_entry
+# NewSubFileType
+>0	leshort		0xfe
+>>12	use		tiff_entry
 >0	leshort		0x100
 >0	leshort		0x100
 >>4	lelong		1
 >>4	lelong		1
 >>>12	use		tiff_entry
 >>>12	use		tiff_entry
@@ -186,21 +189,79 @@
 >0	leshort		0x10e
 >0	leshort		0x10e
 >>(8.l)	string		x		\b, description=%s
 >>(8.l)	string		x		\b, description=%s
 >>>12	use		tiff_entry
 >>>12	use		tiff_entry
+# Make
+>0	leshort		0x10f
+>>(8.l)	string		x		\b, manufacturer=%s
+>>>12	use		tiff_entry
+# Model
+>0	leshort		0x110
+>>(8.l)	string		x		\b, model=%s
+>>>12	use		tiff_entry
 # StripOffsets
 # StripOffsets
 >0	leshort		0x111
 >0	leshort		0x111
 >>12	use		tiff_entry
 >>12	use		tiff_entry
-# NewSubFileType
->0	leshort		0xfe
+# Orientation
+>0	leshort		0x112		\b, orientation=
+>>8	leshort		1		\bupper-left
+>>8	leshort		3		\blower-right
+>>8	leshort		6		\bupper-right
+>>8	leshort		8		\blower-left
+>>8	leshort		9		\bundefined
+>>8	default		x
+>>>8	leshort		x		\b[*%d*]
+>>12	use		tiff_entry
+# XResolution
+>0	leshort		0x11a
+>>8	lelong		x		\b, xresolution=%d
+>>12	use		tiff_entry
+# YResolution
+>0	leshort		0x11b
+>>8	lelong		x		\b, yresolution=%d
+>>12	use		tiff_entry
+# ResolutionUnit
+>0	leshort		0x128
+>>8	leshort		x		\b, resolutionunit=%d
+>>12	use		tiff_entry
+# Software
+>0	leshort		0x131
+>>(8.l)	string		x		\b, software=%s
 >>12	use		tiff_entry
 >>12	use		tiff_entry
 # Datetime
 # Datetime
 >0	leshort		0x132
 >0	leshort		0x132
 >>(8.l)	string		x		\b, datetime=%s
 >>(8.l)	string		x		\b, datetime=%s
->>>12	use		tiff_entry
+>>12	use		tiff_entry
 # HostComputer
 # HostComputer
 >0	leshort		0x13c
 >0	leshort		0x13c
 >>(8.l)	string		x		\b, hostcomputer=%s
 >>(8.l)	string		x		\b, hostcomputer=%s
->>>12	use		tiff_entry
+>>12	use		tiff_entry
+# WhitePoint
+>0	leshort		0x13e
+>>12	use		tiff_entry
+# PrimaryChromaticities
+>0	leshort		0x13f
+>>12	use		tiff_entry
+# YCbCrCoefficients
+>0	leshort		0x211
+>>12	use		tiff_entry
+# YCbCrPositioning
+>0	leshort		0x213
+>>12	use		tiff_entry
+# ReferenceBlackWhite
+>0	leshort		0x214
+>>12	use		tiff_entry
+# Copyright
+>0	leshort		0x8298
+>>(8.l)	string		x		\b, copyright=%s
+>>12	use		tiff_entry
+# ExifOffset
+>0	leshort		0x8769
+>>12	use		tiff_entry
+# GPS IFD
+>0	leshort		0x8825		\b, GPS-Data
+>>12	use		tiff_entry
+
 #>0	leshort		x		\b, unknown=0x%x
 #>0	leshort		x		\b, unknown=0x%x
+#>>12	use		tiff_entry
 
 
 0	string		MM\x00\x2b	Big TIFF image data, big-endian
 0	string		MM\x00\x2b	Big TIFF image data, big-endian
 !:mime	image/tiff
 !:mime	image/tiff

+ 18 - 95
magic/Magdir/jpeg

@@ -1,6 +1,6 @@
 
 
 #------------------------------------------------------------------------------
 #------------------------------------------------------------------------------
-# $File: jpeg,v 1.20 2014/08/05 07:32:31 christos Exp $
+# $File: jpeg,v 1.25 2015/01/02 16:56:50 christos Exp $
 # JPEG images
 # JPEG images
 # SunOS 5.5.1 had
 # SunOS 5.5.1 had
 #
 #
@@ -31,98 +31,9 @@
 # Next, show thumbnail info, if it exists:
 # Next, show thumbnail info, if it exists:
 >>18	byte		!0		\b, thumbnail %dx
 >>18	byte		!0		\b, thumbnail %dx
 >>>19	byte		x		\b%d
 >>>19	byte		x		\b%d
-
-# EXIF moved down here to avoid reporting a bogus version number,
-# and EXIF version number printing added.
-#   - Patrik R=E5dman <patrik+file-magic@iki.fi>
->6	string		Exif		\b, EXIF standard
-# Look for EXIF IFD offset in IFD 0, and then look for EXIF version tag in EXIF IFD.
-# All possible combinations of entries have to be enumerated, since no looping
-# is possible. And both endians are possible...
-# The combinations included below are from real-world JPEGs.
-# Little-endian
->>12	string		II		
-# IFD 0 Entry #5:
->>>70	leshort		0x8769          
-# EXIF IFD Entry #1:
->>>>(78.l+14)	leshort	0x9000		
->>>>>(78.l+23)	byte	x		%c
->>>>>(78.l+24)	byte	x		\b.%c
->>>>>(78.l+25)	byte	!0x30		\b%c
-# IFD 0 Entry #9:
->>>118	leshort		0x8769          
-# EXIF IFD Entry #3:
->>>>(126.l+38)	leshort	0x9000		
->>>>>(126.l+47)	byte	x		%c
->>>>>(126.l+48)	byte	x		\b.%c
->>>>>(126.l+49)	byte	!0x30		\b%c
-# IFD 0 Entry #10
->>>130	leshort		0x8769          
-# EXIF IFD Entry #3:
->>>>(138.l+38)	leshort	0x9000		
->>>>>(138.l+47)	byte	x		%c
->>>>>(138.l+48)	byte	x		\b.%c
->>>>>(138.l+49)	byte	!0x30		\b%c
-# EXIF IFD Entry #4:
->>>>(138.l+50)	leshort	0x9000		
->>>>>(138.l+59)	byte	x		%c
->>>>>(138.l+60)	byte	x		\b.%c
->>>>>(138.l+61)	byte	!0x30		\b%c
-# EXIF IFD Entry #5:
->>>>(138.l+62)	leshort	0x9000		
->>>>>(138.l+71)	byte	x		%c
->>>>>(138.l+72)	byte	x		\b.%c
->>>>>(138.l+73)	byte	!0x30		\b%c
-# IFD 0 Entry #11
->>>142	leshort		0x8769          
-# EXIF IFD Entry #3:
->>>>(150.l+38)	leshort	0x9000		
->>>>>(150.l+47)	byte	x		%c
->>>>>(150.l+48)	byte	x		\b.%c
->>>>>(150.l+49)	byte	!0x30		\b%c
-# EXIF IFD Entry #4:
->>>>(150.l+50)	leshort	0x9000		
->>>>>(150.l+59)	byte	x		%c
->>>>>(150.l+60)	byte	x		\b.%c
->>>>>(150.l+61)	byte	!0x30		\b%c
-# EXIF IFD Entry #5:
->>>>(150.l+62)	leshort	0x9000		
->>>>>(150.l+71)	byte	x		%c
->>>>>(150.l+72)	byte	x		\b.%c
->>>>>(150.l+73)	byte	!0x30		\b%c
-# Big-endian
->>12	string		MM		
-# IFD 0 Entry #9:
->>>118	beshort		0x8769          
-# EXIF IFD Entry #1:
->>>>(126.L+14)	beshort	0x9000		
->>>>>(126.L+23)	byte	x		%c
->>>>>(126.L+24)	byte	x		\b.%c
->>>>>(126.L+25)	byte	!0x30		\b%c
-# EXIF IFD Entry #3:
->>>>(126.L+38)	beshort	0x9000		
->>>>>(126.L+47)	byte	x		%c
->>>>>(126.L+48)	byte	x		\b.%c
->>>>>(126.L+49)	byte	!0x30		\b%c
-# IFD 0 Entry #10
->>>130	beshort		0x8769          
-# EXIF IFD Entry #3:
->>>>(138.L+38)	beshort	0x9000		
->>>>>(138.L+47)	byte	x		%c
->>>>>(138.L+48)	byte	x		\b.%c
->>>>>(138.L+49)	byte	!0x30		\b%c
-# EXIF IFD Entry #5:
->>>>(138.L+62)	beshort	0x9000		
->>>>>(138.L+71)	byte	x		%c
->>>>>(138.L+72)	byte	x		\b.%c
->>>>>(138.L+73)	byte	!0x30		\b%c
-# IFD 0 Entry #11
->>>142	beshort		0x8769          
-# EXIF IFD Entry #4:
->>>>(150.L+50)	beshort	0x9000		
->>>>>(150.L+59)	byte	x		%c
->>>>>(150.L+60)	byte	x		\b.%c
->>>>>(150.L+61)	byte	!0x30		\b%c
+>6	string		Exif		\b, Exif standard: [
+>>12	indirect/r	x
+>>12	string		x		\b]
 
 
 # Jump to the first segment
 # Jump to the first segment
 >(4.S+4)	use		jpeg_segment
 >(4.S+4)	use		jpeg_segment
@@ -130,7 +41,8 @@
 # This uses recursion...
 # This uses recursion...
 0		name		jpeg_segment
 0		name		jpeg_segment
 >0	beshort		0xFFFE
 >0	beshort		0xFFFE
->>(2.S+2)	use			jpeg_segment
+# Recursion handled by FFE0
+#>>(2.S+2)	use			jpeg_segment
 >>2	pstring/HJ	x		\b, comment: "%s"
 >>2	pstring/HJ	x		\b, comment: "%s"
 
 
 >0	beshort		0xFFC0
 >0	beshort		0xFFC0
@@ -158,6 +70,13 @@
 >0	beshort		0xFFC4
 >0	beshort		0xFFC4
 >>(2.S+2)	use			jpeg_segment
 >>(2.S+2)	use			jpeg_segment
 
 
+>0	beshort		0xFFE1		
+# Recursion handled by FFE0
+#>>(2.S+2)	use			jpeg_segment
+>>4	string		Exif		\b, Exif Standard: [
+>>>10	indirect/r	x		
+>>>10	string		x		\b]
+
 # Application specific markers
 # Application specific markers
 >0	beshort&0xFFE0	=0xFFE0
 >0	beshort&0xFFE0	=0xFFE0
 >>(2.S+2)	use			jpeg_segment
 >>(2.S+2)	use			jpeg_segment
@@ -168,7 +87,11 @@
 # D9: End of image
 # D9: End of image
 # Dn: Restart
 # Dn: Restart
 >0	beshort&0xFFD0	=0xFFD0
 >0	beshort&0xFFD0	=0xFFD0
->>(2.S+2)	use			jpeg_segment
+>>0	beshort&0xFFE0	!0xFFE0
+>>>(2.S+2)	use			jpeg_segment
+
+#>0	beshort		x		unknown 0x%x
+#>>(2.S+2)	use			jpeg_segment
 
 
 # HSI is Handmade Software's proprietary JPEG encoding scheme
 # HSI is Handmade Software's proprietary JPEG encoding scheme
 0	string		hsi1		JPEG image data, HSI proprietary
 0	string		hsi1		JPEG image data, HSI proprietary

+ 3 - 3
src/Makefile.in

@@ -81,9 +81,9 @@ build_triplet = @build@
 host_triplet = @host@
 host_triplet = @host@
 bin_PROGRAMS = file$(EXEEXT)
 bin_PROGRAMS = file$(EXEEXT)
 subdir = src
 subdir = src
-DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am strcasestr.c \
-	asctime_r.c vasprintf.c strlcpy.c getopt_long.c pread.c \
-	strlcat.c ctime_r.c fmtcheck.c asprintf.c getline.c \
+DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/Makefile.am strlcat.c \
+	strlcpy.c getopt_long.c pread.c asctime_r.c fmtcheck.c \
+	strcasestr.c getline.c asprintf.c ctime_r.c vasprintf.c \
 	$(top_srcdir)/depcomp $(include_HEADERS)
 	$(top_srcdir)/depcomp $(include_HEADERS)
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \
 am__aclocal_m4_deps = $(top_srcdir)/m4/libtool.m4 \

+ 163 - 113
src/apprentice.c

@@ -32,7 +32,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef	lint
 #ifndef	lint
-FILE_RCSID("@(#)$File: apprentice.c,v 1.227 2014/11/28 02:46:39 christos Exp $")
+FILE_RCSID("@(#)$File: apprentice.c,v 1.229 2015/01/01 17:07:34 christos Exp $")
 #endif	/* lint */
 #endif	/* lint */
 
 
 #include "magic.h"
 #include "magic.h"
@@ -1605,6 +1605,145 @@ check_cond(struct magic_set *ms, int cond, uint32_t cont_level)
 }
 }
 #endif /* ENABLE_CONDITIONALS */
 #endif /* ENABLE_CONDITIONALS */
 
 
+private int
+parse_indirect_modifier(struct magic_set *ms, struct magic *m, const char **lp)
+{
+	const char *l = *lp;
+
+	while (!isspace((unsigned char)*++l))
+		switch (*l) {
+		case CHAR_INDIRECT_RELATIVE:
+			m->str_flags |= INDIRECT_RELATIVE;
+			break;
+		default:
+			if (ms->flags & MAGIC_CHECK)
+				file_magwarn(ms, "indirect modifier `%c' "
+					"invalid", *l);
+			*lp = l;
+			return -1;
+		}
+	*lp = l;
+	return 0;
+}
+
+private void
+parse_op_modifier(struct magic_set *ms, struct magic *m, const char **lp,
+    int op)
+{
+	const char *l = *lp;
+	char *t;
+	uint64_t val;
+
+	++l;
+	m->mask_op |= op;
+	val = (uint64_t)strtoull(l, &t, 0);
+	l = t;
+	m->num_mask = file_signextend(ms, m, val);
+	eatsize(&l);
+	*lp = l;
+}
+
+private int
+parse_string_modifier(struct magic_set *ms, struct magic *m, const char **lp)
+{
+	const char *l = *lp;
+	char *t;
+	int have_range = 0;
+
+	while (!isspace((unsigned char)*++l)) {
+		switch (*l) {
+		case '0':  case '1':  case '2':
+		case '3':  case '4':  case '5':
+		case '6':  case '7':  case '8':
+		case '9':
+			if (have_range && (ms->flags & MAGIC_CHECK))
+				file_magwarn(ms, "multiple ranges");
+			have_range = 1;
+			m->str_range = CAST(uint32_t, strtoul(l, &t, 0));
+			if (m->str_range == 0)
+				file_magwarn(ms, "zero range");
+			l = t - 1;
+			break;
+		case CHAR_COMPACT_WHITESPACE:
+			m->str_flags |= STRING_COMPACT_WHITESPACE;
+			break;
+		case CHAR_COMPACT_OPTIONAL_WHITESPACE:
+			m->str_flags |= STRING_COMPACT_OPTIONAL_WHITESPACE;
+			break;
+		case CHAR_IGNORE_LOWERCASE:
+			m->str_flags |= STRING_IGNORE_LOWERCASE;
+			break;
+		case CHAR_IGNORE_UPPERCASE:
+			m->str_flags |= STRING_IGNORE_UPPERCASE;
+			break;
+		case CHAR_REGEX_OFFSET_START:
+			m->str_flags |= REGEX_OFFSET_START;
+			break;
+		case CHAR_BINTEST:
+			m->str_flags |= STRING_BINTEST;
+			break;
+		case CHAR_TEXTTEST:
+			m->str_flags |= STRING_TEXTTEST;
+			break;
+		case CHAR_TRIM:
+			m->str_flags |= STRING_TRIM;
+			break;
+		case CHAR_PSTRING_1_LE:
+#define SET_LENGTH(a) m->str_flags = (m->str_flags & ~PSTRING_LEN) | (a)
+			if (m->type != FILE_PSTRING)
+				goto bad;
+			SET_LENGTH(PSTRING_1_LE);
+			break;
+		case CHAR_PSTRING_2_BE:
+			if (m->type != FILE_PSTRING)
+				goto bad;
+			SET_LENGTH(PSTRING_2_BE);
+			break;
+		case CHAR_PSTRING_2_LE:
+			if (m->type != FILE_PSTRING)
+				goto bad;
+			SET_LENGTH(PSTRING_2_LE);
+			break;
+		case CHAR_PSTRING_4_BE:
+			if (m->type != FILE_PSTRING)
+				goto bad;
+			SET_LENGTH(PSTRING_4_BE);
+			break;
+		case CHAR_PSTRING_4_LE:
+			switch (m->type) {
+			case FILE_PSTRING:
+			case FILE_REGEX:
+				break;
+			default:
+				goto bad;
+			}
+			SET_LENGTH(PSTRING_4_LE);
+			break;
+		case CHAR_PSTRING_LENGTH_INCLUDES_ITSELF:
+			if (m->type != FILE_PSTRING)
+				goto bad;
+			m->str_flags |= PSTRING_LENGTH_INCLUDES_ITSELF;
+			break;
+		default:
+		bad:
+			if (ms->flags & MAGIC_CHECK)
+				file_magwarn(ms, "string modifier `%c' "
+					"invalid", *l);
+			goto out;
+		}
+		/* allow multiple '/' for readability */
+		if (l[1] == '/' && !isspace((unsigned char)l[2]))
+			l++;
+	}
+	if (string_modifier_check(ms, m) == -1)
+		goto out;
+	*lp = l;
+	return 0;
+out:
+	*lp = l;
+	return -1;
+}
+
 /*
 /*
  * parse one line from magic file, put into magic[index++] if valid
  * parse one line from magic file, put into magic[index++] if valid
  */
  */
@@ -1874,118 +2013,27 @@ parse(struct magic_set *ms, struct magic_entry *me, const char *line,
 	m->str_range = 0;
 	m->str_range = 0;
 	m->str_flags = m->type == FILE_PSTRING ? PSTRING_1_LE : 0;
 	m->str_flags = m->type == FILE_PSTRING ? PSTRING_1_LE : 0;
 	if ((op = get_op(*l)) != -1) {
 	if ((op = get_op(*l)) != -1) {
-		if (!IS_STRING(m->type)) {
-			uint64_t val;
-			++l;
-			m->mask_op |= op;
-			val = (uint64_t)strtoull(l, &t, 0);
-			l = t;
-			m->num_mask = file_signextend(ms, m, val);
-			eatsize(&l);
-		}
-		else if (op == FILE_OPDIVIDE) {
-			int have_range = 0;
-			while (!isspace((unsigned char)*++l)) {
-				switch (*l) {
-				case '0':  case '1':  case '2':
-				case '3':  case '4':  case '5':
-				case '6':  case '7':  case '8':
-				case '9':
-					if (have_range &&
-					    (ms->flags & MAGIC_CHECK))
-						file_magwarn(ms,
-						    "multiple ranges");
-					have_range = 1;
-					m->str_range = CAST(uint32_t,
-					    strtoul(l, &t, 0));
-					if (m->str_range == 0)
-						file_magwarn(ms,
-						    "zero range");
-					l = t - 1;
-					break;
-				case CHAR_COMPACT_WHITESPACE:
-					m->str_flags |=
-					    STRING_COMPACT_WHITESPACE;
-					break;
-				case CHAR_COMPACT_OPTIONAL_WHITESPACE:
-					m->str_flags |=
-					    STRING_COMPACT_OPTIONAL_WHITESPACE;
-					break;
-				case CHAR_IGNORE_LOWERCASE:
-					m->str_flags |= STRING_IGNORE_LOWERCASE;
-					break;
-				case CHAR_IGNORE_UPPERCASE:
-					m->str_flags |= STRING_IGNORE_UPPERCASE;
-					break;
-				case CHAR_REGEX_OFFSET_START:
-					m->str_flags |= REGEX_OFFSET_START;
-					break;
-				case CHAR_BINTEST:
-					m->str_flags |= STRING_BINTEST;
-					break;
-				case CHAR_TEXTTEST:
-					m->str_flags |= STRING_TEXTTEST;
-					break;
-				case CHAR_TRIM:
-					m->str_flags |= STRING_TRIM;
-					break;
-				case CHAR_PSTRING_1_LE:
-					if (m->type != FILE_PSTRING)
-						goto bad;
-					m->str_flags = (m->str_flags & ~PSTRING_LEN) | PSTRING_1_LE;
-					break;
-				case CHAR_PSTRING_2_BE:
-					if (m->type != FILE_PSTRING)
-						goto bad;
-					m->str_flags = (m->str_flags & ~PSTRING_LEN) | PSTRING_2_BE;
-					break;
-				case CHAR_PSTRING_2_LE:
-					if (m->type != FILE_PSTRING)
-						goto bad;
-					m->str_flags = (m->str_flags & ~PSTRING_LEN) | PSTRING_2_LE;
-					break;
-				case CHAR_PSTRING_4_BE:
-					if (m->type != FILE_PSTRING)
-						goto bad;
-					m->str_flags = (m->str_flags & ~PSTRING_LEN) | PSTRING_4_BE;
-					break;
-				case CHAR_PSTRING_4_LE:
-					switch (m->type) {
-					case FILE_PSTRING:
-					case FILE_REGEX:
-						break;
-					default:
-						goto bad;
-					}
-					m->str_flags = (m->str_flags & ~PSTRING_LEN) | PSTRING_4_LE;
-					break;
-				case CHAR_PSTRING_LENGTH_INCLUDES_ITSELF:
-					if (m->type != FILE_PSTRING)
-						goto bad;
-					m->str_flags |= PSTRING_LENGTH_INCLUDES_ITSELF;
-					break;
-				default:
-				bad:
-					if (ms->flags & MAGIC_CHECK)
-						file_magwarn(ms,
-						    "string extension `%c' "
-						    "invalid", *l);
-					return -1;
-				}
-				/* allow multiple '/' for readability */
-				if (l[1] == '/' &&
-				    !isspace((unsigned char)l[2]))
-					l++;
+		if (IS_STRING(m->type)) {
+			int r;
+
+			if (op != FILE_OPDIVIDE) {
+				if (ms->flags & MAGIC_CHECK)
+					file_magwarn(ms,
+					    "invalid string/indirect op: "
+					    "`%c'", *t);
+				return -1;
 			}
 			}
-			if (string_modifier_check(ms, m) == -1)
+
+			if (m->type == FILE_INDIRECT)
+				r = parse_indirect_modifier(ms, m, &l);
+			else
+				r = parse_string_modifier(ms, m, &l);
+			if (r == -1)
 				return -1;
 				return -1;
-		}
-		else {
-			if (ms->flags & MAGIC_CHECK)
-				file_magwarn(ms, "invalid string op: %c", *t);
-			return -1;
-		}
+		} else
+			parse_op_modifier(ms, m, &l, op);
 	}
 	}
+
 	/*
 	/*
 	 * We used to set mask to all 1's here, instead let's just not do
 	 * We used to set mask to all 1's here, instead let's just not do
 	 * anything if mask = 0 (unless you have a better idea)
 	 * anything if mask = 0 (unless you have a better idea)
@@ -2151,7 +2199,7 @@ parse_extra(struct magic_set *ms, struct magic_entry *me, const char *line,
 	size_t i;
 	size_t i;
 	const char *l = line;
 	const char *l = line;
 	struct magic *m = &me->mp[me->cont_count == 0 ? 0 : me->cont_count - 1];
 	struct magic *m = &me->mp[me->cont_count == 0 ? 0 : me->cont_count - 1];
-	char *buf = (char *)m + off;
+	char *buf = CAST(char *, CAST(void *, m)) + off;
 
 
 	if (buf[0] != '\0') {
 	if (buf[0] != '\0') {
 		len = nt ? strlen(buf) : len;
 		len = nt ? strlen(buf) : len;
@@ -2200,7 +2248,8 @@ parse_apple(struct magic_set *ms, struct magic_entry *me, const char *line)
 {
 {
 	struct magic *m = &me->mp[0];
 	struct magic *m = &me->mp[0];
 
 
-	return parse_extra(ms, me, line, offsetof(struct magic, apple),
+	return parse_extra(ms, me, line,
+	    CAST(off_t, offsetof(struct magic, apple)),
 	    sizeof(m->apple), "APPLE", "!+-./", 0);
 	    sizeof(m->apple), "APPLE", "!+-./", 0);
 }
 }
 
 
@@ -2213,7 +2262,8 @@ parse_mime(struct magic_set *ms, struct magic_entry *me, const char *line)
 {
 {
 	struct magic *m = &me->mp[0];
 	struct magic *m = &me->mp[0];
 
 
-	return parse_extra(ms, me, line, offsetof(struct magic, mimetype),
+	return parse_extra(ms, me, line,
+	    CAST(off_t, offsetof(struct magic, mimetype)),
 	    sizeof(m->mimetype), "MIME", "+-/.", 1);
 	    sizeof(m->mimetype), "MIME", "+-/.", 1);
 }
 }
 
 

+ 14 - 12
src/cdf.c

@@ -35,7 +35,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef lint
 #ifndef lint
-FILE_RCSID("@(#)$File: cdf.c,v 1.68 2014/10/22 19:27:36 christos Exp $")
+FILE_RCSID("@(#)$File: cdf.c,v 1.69 2014/12/04 15:56:46 christos Exp $")
 #endif
 #endif
 
 
 #include <assert.h>
 #include <assert.h>
@@ -73,8 +73,11 @@ static union {
 #define CDF_TOLE8(x)	((uint64_t)(NEED_SWAP ? _cdf_tole8(x) : (uint64_t)(x)))
 #define CDF_TOLE8(x)	((uint64_t)(NEED_SWAP ? _cdf_tole8(x) : (uint64_t)(x)))
 #define CDF_TOLE4(x)	((uint32_t)(NEED_SWAP ? _cdf_tole4(x) : (uint32_t)(x)))
 #define CDF_TOLE4(x)	((uint32_t)(NEED_SWAP ? _cdf_tole4(x) : (uint32_t)(x)))
 #define CDF_TOLE2(x)	((uint16_t)(NEED_SWAP ? _cdf_tole2(x) : (uint16_t)(x)))
 #define CDF_TOLE2(x)	((uint16_t)(NEED_SWAP ? _cdf_tole2(x) : (uint16_t)(x)))
-#define CDF_TOLE(x)	(sizeof(x) == 2 ? CDF_TOLE2(x) : (sizeof(x) == 4 ? \
-    CDF_TOLE4(x) : CDF_TOLE8(x)))
+#define CDF_TOLE(x)	(/*CONSTCOND*/sizeof(x) == 2 ? \
+			    CDF_TOLE2(CAST(uint16_t, x)) : \
+			(/*CONSTCOND*/sizeof(x) == 4 ? \
+			    CDF_TOLE4(CAST(uint32_t, x)) : \
+			    CDF_TOLE8(CAST(uint64_t, x))))
 #define CDF_GETUINT32(x, y)	cdf_getuint32(x, y)
 #define CDF_GETUINT32(x, y)	cdf_getuint32(x, y)
 
 
 
 
@@ -271,7 +274,7 @@ cdf_check_stream_offset(const cdf_stream_t *sst, const cdf_header_t *h,
 	const char *e = ((const char *)p) + tail;
 	const char *e = ((const char *)p) + tail;
 	size_t ss = sst->sst_dirlen < h->h_min_size_standard_stream ?
 	size_t ss = sst->sst_dirlen < h->h_min_size_standard_stream ?
 	    CDF_SHORT_SEC_SIZE(h) : CDF_SEC_SIZE(h);
 	    CDF_SHORT_SEC_SIZE(h) : CDF_SEC_SIZE(h);
-	(void)&line;
+	/*LINTED*/(void)&line;
 	if (e >= b && (size_t)(e - b) <= ss * sst->sst_len)
 	if (e >= b && (size_t)(e - b) <= ss * sst->sst_len)
 		return 0;
 		return 0;
 	DPRINTF(("%d: offset begin %p < end %p || %" SIZE_T_FORMAT "u"
 	DPRINTF(("%d: offset begin %p < end %p || %" SIZE_T_FORMAT "u"
@@ -998,9 +1001,9 @@ cdf_unpack_summary_info(const cdf_stream_t *sst, const cdf_header_t *h,
 }
 }
 
 
 
 
-#define extract_catalog_field(f, l) \
+#define extract_catalog_field(t, f, l) \
     memcpy(&ce[i].f, b + (l), sizeof(ce[i].f)); \
     memcpy(&ce[i].f, b + (l), sizeof(ce[i].f)); \
-    ce[i].f = CDF_TOLE(ce[i].f)
+    ce[i].f = CAST(t, CDF_TOLE(ce[i].f))
 
 
 int
 int
 cdf_unpack_catalog(const cdf_header_t *h, const cdf_stream_t *sst,
 cdf_unpack_catalog(const cdf_header_t *h, const cdf_stream_t *sst,
@@ -1028,18 +1031,17 @@ cdf_unpack_catalog(const cdf_header_t *h, const cdf_stream_t *sst,
 	ce = (*cat)->cat_e;
 	ce = (*cat)->cat_e;
 	b = CAST(const char *, sst->sst_tab);
 	b = CAST(const char *, sst->sst_tab);
 	for (i = 0; i < nr; i++) {
 	for (i = 0; i < nr; i++) {
-		extract_catalog_field(ce_namlen, 0);
-		extract_catalog_field(ce_num, 2);
-		extract_catalog_field(ce_timestamp, 6);
+		extract_catalog_field(uint16_t, ce_namlen, 0);
+		extract_catalog_field(uint16_t, ce_num, 2);
+		extract_catalog_field(uint64_t, ce_timestamp, 6);
 		reclen = ce[i].ce_namlen;
 		reclen = ce[i].ce_namlen;
 		ce[i].ce_namlen =
 		ce[i].ce_namlen =
 		    sizeof(ce[i].ce_name) / sizeof(ce[i].ce_name[0]) - 1;
 		    sizeof(ce[i].ce_name) / sizeof(ce[i].ce_name[0]) - 1;
 		if (ce[i].ce_namlen > reclen - 14)
 		if (ce[i].ce_namlen > reclen - 14)
 			ce[i].ce_namlen = reclen - 14;
 			ce[i].ce_namlen = reclen - 14;
-		np = CAST(const uint16_t *, (b + 16));
+		np = CAST(const uint16_t *, CAST(const void *, (b + 16)));
 		for (k = 0; k < ce[i].ce_namlen; k++) {
 		for (k = 0; k < ce[i].ce_namlen; k++) {
-			ce[i].ce_name[k] = np[k];
-			CDF_TOLE2(ce[i].ce_name[k]);
+			ce[i].ce_name[k] = np[k]; /* XXX: CDF_TOLE2? */
 		}
 		}
 		ce[i].ce_name[ce[i].ce_namlen] = 0;
 		ce[i].ce_name[ce[i].ce_namlen] = 0;
 		b += reclen;
 		b += reclen;

+ 2 - 3
src/compress.c

@@ -35,7 +35,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef lint
 #ifndef lint
-FILE_RCSID("@(#)$File: compress.c,v 1.76 2014/12/11 11:47:08 christos Exp $")
+FILE_RCSID("@(#)$File: compress.c,v 1.77 2014/12/12 16:33:01 christos Exp $")
 #endif
 #endif
 
 
 #include "magic.h"
 #include "magic.h"
@@ -383,7 +383,6 @@ uncompressbuf(struct magic_set *ms, int fd, size_t method,
 	int fdin[2], fdout[2];
 	int fdin[2], fdout[2];
 	int status;
 	int status;
 	ssize_t r;
 	ssize_t r;
-	pid_t pid;
 
 
 #ifdef BUILTIN_DECOMPRESS
 #ifdef BUILTIN_DECOMPRESS
         /* FIXME: This doesn't cope with bzip2 */
         /* FIXME: This doesn't cope with bzip2 */
@@ -397,7 +396,7 @@ uncompressbuf(struct magic_set *ms, int fd, size_t method,
 		file_error(ms, errno, "cannot create pipe");	
 		file_error(ms, errno, "cannot create pipe");	
 		return NODATA;
 		return NODATA;
 	}
 	}
-	switch (pid = fork()) {
+	switch (fork()) {
 	case 0:	/* child */
 	case 0:	/* child */
 		(void) close(0);
 		(void) close(0);
 		if (fd != -1) {
 		if (fd != -1) {

+ 7 - 1
src/file.c

@@ -32,7 +32,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef	lint
 #ifndef	lint
-FILE_RCSID("@(#)$File: file.c,v 1.159 2014/11/28 02:46:39 christos Exp $")
+FILE_RCSID("@(#)$File: file.c,v 1.160 2014/12/16 23:18:40 christos Exp $")
 #endif	/* lint */
 #endif	/* lint */
 
 
 #include "magic.h"
 #include "magic.h"
@@ -130,8 +130,14 @@ private struct {
 
 
 private char *progname;		/* used throughout 		*/
 private char *progname;		/* used throughout 		*/
 
 
+#ifdef __dead
+__dead
+#endif
 private void usage(void);
 private void usage(void);
 private void docprint(const char *);
 private void docprint(const char *);
+#ifdef __dead
+__dead
+#endif
 private void help(void);
 private void help(void);
 
 
 private int unwrap(struct magic_set *, const char *);
 private int unwrap(struct magic_set *, const char *);

+ 7 - 1
src/file.h

@@ -27,7 +27,7 @@
  */
  */
 /*
 /*
  * file.h - definitions for file(1) program
  * file.h - definitions for file(1) program
- * @(#)$File: file.h,v 1.162 2014/12/11 12:34:24 christos Exp $
+ * @(#)$File: file.h,v 1.164 2015/01/01 17:07:34 christos Exp $
  */
  */
 
 
 #ifndef __file_h__
 #ifndef __file_h__
@@ -234,6 +234,7 @@ struct magic {
 	 (t) == FILE_LESTRING16 || \
 	 (t) == FILE_LESTRING16 || \
 	 (t) == FILE_REGEX || \
 	 (t) == FILE_REGEX || \
 	 (t) == FILE_SEARCH || \
 	 (t) == FILE_SEARCH || \
+	 (t) == FILE_INDIRECT || \
 	 (t) == FILE_NAME || \
 	 (t) == FILE_NAME || \
 	 (t) == FILE_USE)
 	 (t) == FILE_USE)
 
 
@@ -346,6 +347,8 @@ struct magic {
 #define STRING_IGNORE_CASE		(STRING_IGNORE_LOWERCASE|STRING_IGNORE_UPPERCASE)
 #define STRING_IGNORE_CASE		(STRING_IGNORE_LOWERCASE|STRING_IGNORE_UPPERCASE)
 #define STRING_DEFAULT_RANGE		100
 #define STRING_DEFAULT_RANGE		100
 
 
+#define	INDIRECT_RELATIVE			BIT(0)
+#define	CHAR_INDIRECT_RELATIVE			'r'
 
 
 /* list of magic entries */
 /* list of magic entries */
 struct mlist {
 struct mlist {
@@ -587,5 +590,8 @@ static const char *rcsid(const char *p) { \
 #else
 #else
 #define FILE_RCSID(id)
 #define FILE_RCSID(id)
 #endif
 #endif
+#ifndef __RCSID
+#define __RCSID(a)
+#endif
 
 
 #endif /* __file_h__ */
 #endif /* __file_h__ */

+ 6 - 5
src/funcs.c

@@ -27,7 +27,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef	lint
 #ifndef	lint
-FILE_RCSID("@(#)$File: funcs.c,v 1.78 2014/12/11 12:34:24 christos Exp $")
+FILE_RCSID("@(#)$File: funcs.c,v 1.79 2014/12/16 20:52:49 christos Exp $")
 #endif	/* lint */
 #endif	/* lint */
 
 
 #include "magic.h"
 #include "magic.h"
@@ -159,8 +159,9 @@ file_badread(struct magic_set *ms)
 }
 }
 
 
 #ifndef COMPILE_ONLY
 #ifndef COMPILE_ONLY
+/*ARGSUSED*/
 protected int
 protected int
-file_buffer(struct magic_set *ms, int fd, const char *inname __attribute__ ((unused)),
+file_buffer(struct magic_set *ms, int fd, const char *inname __attribute__ ((__unused__)),
     const void *buf, size_t nb)
     const void *buf, size_t nb)
 {
 {
 	int m = 0, rv = 0, looks_text = 0;
 	int m = 0, rv = 0, looks_text = 0;
@@ -549,9 +550,9 @@ file_printable(char *buf, size_t bufsiz, const char *str)
 		if (ptr >= eptr - 3)
 		if (ptr >= eptr - 3)
 			break;
 			break;
 		*ptr++ = '\\';
 		*ptr++ = '\\';
-		*ptr++ = ((*s >> 6) & 7) + '0';
-		*ptr++ = ((*s >> 3) & 7) + '0';
-		*ptr++ = ((*s >> 0) & 7) + '0';
+		*ptr++ = ((CAST(unsigned int, *s) >> 6) & 7) + '0';
+		*ptr++ = ((CAST(unsigned int, *s) >> 3) & 7) + '0';
+		*ptr++ = ((CAST(unsigned int, *s) >> 0) & 7) + '0';
 	}
 	}
 	*ptr = '\0';
 	*ptr = '\0';
 	return buf;
 	return buf;

+ 6 - 6
src/magic.c

@@ -33,7 +33,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef	lint
 #ifndef	lint
-FILE_RCSID("@(#)$File: magic.c,v 1.90 2014/12/04 15:56:46 christos Exp $")
+FILE_RCSID("@(#)$File: magic.c,v 1.91 2014/12/16 23:18:40 christos Exp $")
 #endif	/* lint */
 #endif	/* lint */
 
 
 #include "magic.h"
 #include "magic.h"
@@ -543,19 +543,19 @@ magic_setparam(struct magic_set *ms, int param, const void *val)
 {
 {
 	switch (param) {
 	switch (param) {
 	case MAGIC_PARAM_INDIR_MAX:
 	case MAGIC_PARAM_INDIR_MAX:
-		ms->indir_max = *(const size_t *)val;
+		ms->indir_max = (uint16_t)*(const size_t *)val;
 		return 0;
 		return 0;
 	case MAGIC_PARAM_NAME_MAX:
 	case MAGIC_PARAM_NAME_MAX:
-		ms->name_max = *(const size_t *)val;
+		ms->name_max = (uint16_t)*(const size_t *)val;
 		return 0;
 		return 0;
 	case MAGIC_PARAM_ELF_PHNUM_MAX:
 	case MAGIC_PARAM_ELF_PHNUM_MAX:
-		ms->elf_phnum_max = *(const size_t *)val;
+		ms->elf_phnum_max = (uint16_t)*(const size_t *)val;
 		return 0;
 		return 0;
 	case MAGIC_PARAM_ELF_SHNUM_MAX:
 	case MAGIC_PARAM_ELF_SHNUM_MAX:
-		ms->elf_shnum_max = *(const size_t *)val;
+		ms->elf_shnum_max = (uint16_t)*(const size_t *)val;
 		return 0;
 		return 0;
 	case MAGIC_PARAM_ELF_NOTES_MAX:
 	case MAGIC_PARAM_ELF_NOTES_MAX:
-		ms->elf_notes_max = *(const size_t *)val;
+		ms->elf_notes_max = (uint16_t)*(const size_t *)val;
 		return 0;
 		return 0;
 	default:
 	default:
 		errno = EINVAL;
 		errno = EINVAL;

+ 2 - 1
src/print.c

@@ -32,7 +32,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef lint
 #ifndef lint
-FILE_RCSID("@(#)$File: print.c,v 1.75 2012/10/30 23:11:51 christos Exp $")
+FILE_RCSID("@(#)$File: print.c,v 1.76 2013/02/26 18:25:00 christos Exp $")
 #endif  /* lint */
 #endif  /* lint */
 
 
 #include <string.h>
 #include <string.h>
@@ -164,6 +164,7 @@ file_mdump(struct magic *m)
 		case FILE_MELDATE:
 		case FILE_MELDATE:
 			(void)fprintf(stderr, "%s,",
 			(void)fprintf(stderr, "%s,",
 			    file_fmttime(m->value.l, 0, tbuf));
 			    file_fmttime(m->value.l, 0, tbuf));
+			break;
 		case FILE_QDATE:
 		case FILE_QDATE:
 		case FILE_LEQDATE:
 		case FILE_LEQDATE:
 		case FILE_BEQDATE:
 		case FILE_BEQDATE:

+ 5 - 1
src/readcdf.c

@@ -26,7 +26,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef lint
 #ifndef lint
-FILE_RCSID("@(#)$File: readcdf.c,v 1.48 2014/09/10 18:41:51 christos Exp $")
+FILE_RCSID("@(#)$File: readcdf.c,v 1.49 2014/12/04 15:56:46 christos Exp $")
 #endif
 #endif
 
 
 #include <assert.h>
 #include <assert.h>
@@ -39,6 +39,10 @@ FILE_RCSID("@(#)$File: readcdf.c,v 1.48 2014/09/10 18:41:51 christos Exp $")
 #include "cdf.h"
 #include "cdf.h"
 #include "magic.h"
 #include "magic.h"
 
 
+#ifndef __arraycount
+#define __arraycount(a) (sizeof(a) / sizeof(a[0]))
+#endif
+
 #define NOTMIME(ms) (((ms)->flags & MAGIC_MIME) == 0)
 #define NOTMIME(ms) (((ms)->flags & MAGIC_MIME) == 0)
 
 
 static const struct nv {
 static const struct nv {

+ 5 - 3
src/readelf.c

@@ -27,7 +27,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef lint
 #ifndef lint
-FILE_RCSID("@(#)$File: readelf.c,v 1.116 2014/12/16 23:18:40 christos Exp $")
+FILE_RCSID("@(#)$File: readelf.c,v 1.117 2014/12/16 23:29:42 christos Exp $")
 #endif
 #endif
 
 
 #ifdef BUILTIN_ELF
 #ifdef BUILTIN_ELF
@@ -482,6 +482,7 @@ do_note_freebsd_version(struct magic_set *ms, int swap, void *v)
 }
 }
 
 
 private int
 private int
+/*ARGSUSED*/
 do_bid_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
 do_bid_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
     int swap __attribute__((__unused__)), uint32_t namesz, uint32_t descsz,
     int swap __attribute__((__unused__)), uint32_t namesz, uint32_t descsz,
     size_t noff, size_t doff, int *flags)
     size_t noff, size_t doff, int *flags)
@@ -622,7 +623,7 @@ do_pax_note(struct magic_set *ms, unsigned char *nbuf, uint32_t type,
 			return 1;
 			return 1;
 
 
 		for (i = 0; i < __arraycount(pax); i++) {
 		for (i = 0; i < __arraycount(pax); i++) {
-			if (((1 << i) & desc) == 0)
+			if (((1 << (int)i) & desc) == 0)
 				continue;
 				continue;
 			if (file_printf(ms, "%s%s", did++ ? "," : "",
 			if (file_printf(ms, "%s%s", did++ ? "," : "",
 			    pax[i]) == -1)
 			    pax[i]) == -1)
@@ -1008,7 +1009,8 @@ doshn(struct magic_set *ms, int clazz, int swap, int fd, off_t off, int num,
 	}
 	}
 
 
 	/* Read offset of name section to be able to read section names later */
 	/* Read offset of name section to be able to read section names later */
-	if (pread(fd, xsh_addr, xsh_sizeof, off + size * strtab) < (ssize_t)xsh_sizeof) {
+	if (pread(fd, xsh_addr, xsh_sizeof, CAST(off_t, (off + size * strtab)))
+	    < (ssize_t)xsh_sizeof) {
 		file_badread(ms);
 		file_badread(ms);
 		return -1;
 		return -1;
 	}
 	}

+ 3 - 1
src/softmagic.c

@@ -32,7 +32,7 @@
 #include "file.h"
 #include "file.h"
 
 
 #ifndef	lint
 #ifndef	lint
-FILE_RCSID("@(#)$File: softmagic.c,v 1.203 2014/12/04 15:22:05 christos Exp $")
+FILE_RCSID("@(#)$File: softmagic.c,v 1.206 2015/01/01 17:07:34 christos Exp $")
 #endif	/* lint */
 #endif	/* lint */
 
 
 #include "magic.h"
 #include "magic.h"
@@ -1665,6 +1665,8 @@ mget(struct magic_set *ms, const unsigned char *s, struct magic *m,
 		break;
 		break;
 
 
 	case FILE_INDIRECT:
 	case FILE_INDIRECT:
+		if (m->str_flags & INDIRECT_RELATIVE)
+			offset += CAST(uint32_t, o);
 		if (offset == 0)
 		if (offset == 0)
 			return 0;
 			return 0;