Author: delphij
Date: Wed Sep 23 05:39:20 2015
New Revision: 288143
URL: https://svnweb.freebsd.org/changeset/base/288143

Log:
  MFV r288140: update file to 5.25.
  
  MFC after:    1 month

Modified:
  head/contrib/file/ChangeLog
  head/contrib/file/configure
  head/contrib/file/configure.ac
  head/contrib/file/doc/file.man
  head/contrib/file/doc/libmagic.man
  head/contrib/file/doc/magic.man
  head/contrib/file/magic/Magdir/adventure
  head/contrib/file/magic/Magdir/apple
  head/contrib/file/magic/Magdir/archive
  head/contrib/file/magic/Magdir/c-lang
  head/contrib/file/magic/Magdir/c64
  head/contrib/file/magic/Magdir/compress
  head/contrib/file/magic/Magdir/database
  head/contrib/file/magic/Magdir/filesystems
  head/contrib/file/magic/Magdir/frame
  head/contrib/file/magic/Magdir/iff
  head/contrib/file/magic/Magdir/images
  head/contrib/file/magic/Magdir/karma
  head/contrib/file/magic/Magdir/linux
  head/contrib/file/magic/Magdir/make
  head/contrib/file/magic/Magdir/map
  head/contrib/file/magic/Magdir/msdos
  head/contrib/file/magic/Magdir/netscape
  head/contrib/file/magic/Magdir/python
  head/contrib/file/magic/Magdir/scientific
  head/contrib/file/magic/Magdir/sgi
  head/contrib/file/magic/Magdir/sgml
  head/contrib/file/magic/Magdir/windows
  head/contrib/file/src/apprentice.c
  head/contrib/file/src/file.c
  head/contrib/file/src/file.h
  head/contrib/file/src/file_opts.h
  head/contrib/file/src/funcs.c
  head/contrib/file/src/gmtime_r.c
  head/contrib/file/src/localtime_r.c
  head/contrib/file/src/magic.c
  head/contrib/file/src/magic.h
  head/contrib/file/src/magic.h.in
  head/contrib/file/src/print.c
  head/contrib/file/src/readelf.c
  head/contrib/file/src/softmagic.c
  head/lib/libmagic/config.h
Directory Properties:
  head/contrib/file/   (props changed)

Modified: head/contrib/file/ChangeLog
==============================================================================
--- head/contrib/file/ChangeLog Wed Sep 23 05:14:48 2015        (r288142)
+++ head/contrib/file/ChangeLog Wed Sep 23 05:39:20 2015        (r288143)
@@ -1,3 +1,19 @@
+2015-09-16   9:50  Christos Zoulas <chris...@zoulas.com>
+       
+       * release 5.25
+
+2015-09-11  13:25  Christos Zoulas <chris...@zoulas.com>
+
+       * add a limit to the length of regex searches
+
+2015-09-08   9:50  Christos Zoulas <chris...@zoulas.com>
+
+       * fix problems with --parameter (Christoph Biedl)
+
+2015-07-11  10:35  Christos Zoulas <chris...@zoulas.com>
+
+       * Windows fixes PR/466 (Jason Hood)
+
 2015-07-09  10:35  Christos Zoulas <chris...@zoulas.com>
 
        * release 5.24

Modified: head/contrib/file/configure
==============================================================================
--- head/contrib/file/configure Wed Sep 23 05:14:48 2015        (r288142)
+++ head/contrib/file/configure Wed Sep 23 05:39:20 2015        (r288143)
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for file 5.24.
+# Generated by GNU Autoconf 2.69 for file 5.25.
 #
 # Report bugs to <chris...@astron.com>.
 #
@@ -590,8 +590,8 @@ MAKEFLAGS=
 # Identity of this package.
 PACKAGE_NAME='file'
 PACKAGE_TARNAME='file'
-PACKAGE_VERSION='5.24'
-PACKAGE_STRING='file 5.24'
+PACKAGE_VERSION='5.25'
+PACKAGE_STRING='file 5.25'
 PACKAGE_BUGREPORT='chris...@astron.com'
 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.
   # This message is too long to be a string in the A/UX 3.1 sh.
   cat <<_ACEOF
-\`configure' configures file 5.24 to adapt to many kinds of systems.
+\`configure' configures file 5.25 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1397,7 +1397,7 @@ fi
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of file 5.24:";;
+     short | recursive ) echo "Configuration of file 5.25:";;
    esac
   cat <<\_ACEOF
 
@@ -1507,7 +1507,7 @@ fi
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-file configure 5.24
+file configure 5.25
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2163,7 +2163,7 @@ cat >config.log <<_ACEOF
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by file $as_me 5.24, which was
+It was created by file $as_me 5.25, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3029,7 +3029,7 @@ fi
 
 # Define the identity of the package.
  PACKAGE='file'
- VERSION='5.24'
+ VERSION='5.25'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -15036,7 +15036,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wri
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by file $as_me 5.24, which was
+This file was extended by file $as_me 5.25, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -15102,7 +15102,7 @@ _ACEOF
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-file config.status 5.24
+file config.status 5.25
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 

Modified: head/contrib/file/configure.ac
==============================================================================
--- head/contrib/file/configure.ac      Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/configure.ac      Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,5 +1,5 @@
 dnl Process this file with autoconf to produce a configure script.
-AC_INIT([file],[5.24],[chris...@astron.com])
+AC_INIT([file],[5.25],[chris...@astron.com])
 AM_INIT_AUTOMAKE([subdir-objects foreign])
 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
 

Modified: head/contrib/file/doc/file.man
==============================================================================
--- head/contrib/file/doc/file.man      Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/doc/file.man      Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,5 +1,5 @@
-.\" $File: file.man,v 1.117 2015/06/03 19:51:27 christos Exp $
-.Dd June 3, 2015
+.\" $File: file.man,v 1.118 2015/09/11 17:24:09 christos Exp $
+.Dd September 11, 2015
 .Dt FILE __CSECTION__
 .Os
 .Sh NAME
@@ -316,6 +316,7 @@ Set various parameter limits.
 .It Li elf_notes Ta 256 Ta max ELF notes processed
 .It Li elf_phnum Ta 128 Ta max ELF program sections processed
 .It Li elf_shnum Ta 32768 Ta max ELF sections processed
+.It Li regex Ta 8192 Ta length limit for regex searches
 .El
 .It Fl r , Fl Fl raw
 Don't translate unprintable characters to \eooo.

Modified: head/contrib/file/doc/libmagic.man
==============================================================================
--- head/contrib/file/doc/libmagic.man  Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/doc/libmagic.man  Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,4 +1,4 @@
-.\" $File: libmagic.man,v 1.37 2015/06/03 18:21:24 christos Exp $
+.\" $File: libmagic.man,v 1.38 2015/09/11 17:24:09 christos Exp $
 .\"
 .\" Copyright (c) Christos Zoulas 2003.
 .\" All Rights Reserved.
@@ -25,7 +25,7 @@
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
 .\"
-.Dd June 3, 2015
+.Dd September 11, 2015
 .Dt LIBMAGIC 3
 .Os
 .Sh NAME
@@ -291,6 +291,7 @@ library.
 .It Li MAGIC_PARAM_ELF_NOTES_MAX Ta size_t Ta 256
 .It Li MAGIC_PARAM_ELF_PHNUM_MAX Ta size_t Ta 128
 .It Li MAGIC_PARAM_ELF_SHNUM_MAX Ta size_t Ta 32768
+.It Li MAGIC_PARAM_REGEX_MAX Ta size_t Ta 8192
 .El
 .Pp
 The

Modified: head/contrib/file/doc/magic.man
==============================================================================
--- head/contrib/file/doc/magic.man     Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/doc/magic.man     Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,4 +1,4 @@
-.\" $File: magic.man,v 1.85 2015/01/01 17:07:34 christos Exp $
+.\" $File: magic.man,v 1.86 2015/09/08 13:48:44 christos Exp $
 .Dd January 1, 2015
 .Dt MAGIC __FSECTION__
 .Os
@@ -200,7 +200,7 @@ interpreted as a UNIX-style date, but in
 than UTC.
 .It Dv indirect
 Starting at the given offset, consult the magic database again.
-The offset of th
+The offset of the
 .Dv indirect
 magic is by default absolute in the file, but one can specify
 .Dv /r

Modified: head/contrib/file/magic/Magdir/adventure
==============================================================================
--- head/contrib/file/magic/Magdir/adventure    Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/adventure    Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: adventure,v 1.14 2012/06/21 01:32:26 christos Exp $
+# $File: adventure,v 1.15 2015/09/07 10:03:21 christos Exp $
 # adventure: file(1) magic for Adventure game files
 #
 # from Allen Garvin <earen...@faeryland.tamu-commerce.edu>
@@ -17,6 +17,7 @@
 # Infocom (see z-machine)
 #------------------------------------------------------------------------------
 # Z-machine:  file(1) magic for Z-machine binaries.
+# Sanity checks by David Griffith <d...@661.org>
 # Updated by Adam Buchbinder <adam.buchbin...@gmail.com>
 #
 #http://www.gnelson.demon.co.uk/zspec/sect11.html
@@ -41,10 +42,12 @@
 >>>>>>>2       ubeshort        < 10    Release %d /
 >>>>>>>>18     string          >\0     Serial %.6s)
 !:strength + 40
+!:mime application/x-zmachine
 
 #------------------------------------------------------------------------------
 # Glulx:  file(1) magic for Glulx binaries.
 #
+# David Griffith <d...@661.org>
 # I haven't checked for false matches yet.
 #
 0      string                  Glul    Glulx game data
@@ -52,7 +55,7 @@
 >>6    byte                    x       \b.%d
 >>8    byte                    x       \b.%d)
 >36    string                  Info    Compiled by Inform
-
+!:mime application/x-glulx
 
 
 # For Quetzal and blorb magic see iff
@@ -66,11 +69,13 @@
 >9     belong  !0x0A0D1A00     game data, CORRUPTED
 >9     belong   0x0A0D1A00
 >>13   string  >\0             %s game data
+!:mime application/x-tads
 #  Resource files start with "TADS2 rsc\n\r\032\0" then the compiler version.
 0      string  TADS2\ rsc      TADS
 >9     belong  !0x0A0D1A00     resource data, CORRUPTED
 >9     belong   0x0A0D1A00
 >>13   string  >\0             %s resource data
+!:mime application/x-tads
 #  Some saved game files start with "TADS2 save/g\n\r\032\0", a little-endian
 #  2-byte length N, the N-char name of the game file *without* a NUL (darn!),
 # "TADS2 save\n\r\032\0" and the interpreter version. 
@@ -78,12 +83,14 @@
 >12    belong  !0x0A0D1A00     saved game data, CORRUPTED
 >12    belong   0x0A0D1A00
 >>(16.s+32) string >\0         %s saved game data
+!:mime application/x-tads
 #  Other saved game files start with "TADS2 save\n\r\032\0" and the interpreter
 #  version.
 0      string  TADS2\ save     TADS
 >10    belong  !0x0A0D1A00     saved game data, CORRUPTED
 >10    belong   0x0A0D1A00
 >>14   string  >\0             %s saved game data
+!:mime application/x-tads
 
 # TADS (Text Adventure Development System) version 3
 #  Game files start with "T3-image\015\012\032"
@@ -97,14 +104,18 @@
 >>11   byte    x               \b%c
 >>12   byte    x               \b%c
 >>13   byte    x               \b%c)
+!:mime application/x-t3vm-image
 
+# edited by David Griffith <d...@661.org>
 # Danny Milosavljevic <danny.m...@gmx.net>
-# this are adrift (adventure game standard) game files, extension .taf
-# depending on version magic continues with 0x93453E6139FA (V 4.0)
-# 0x9445376139FA (V 3.90)
-# 0x9445366139FA (V 3.80)
-# this is from source (http://www.adrift.org.uk/) and I have some taf
-# files, and checked them.
-#0     belong  0x3C423FC9
-#>4    belong  0x6A87C2CF      Adrift game file
-#!:mime        application/x-adrift
+# These are ADRIFT (adventure game standard) game files, extension .taf
+# Checked from source at (http://www.adrift.co/) and various taf files 
+# found at the Interactive Fiction Archive (http://ifarchive.org/)
+0      belong  0x3C423FC9
+>4     belong  0x6A87C2CF      Adrift game file version
+>>8    belong  0x94453661      3.80
+>>8    belong  0x94453761      3.90
+>>8    belong  0x93453E61      4.0
+>>8    belong  0x92453E61      5.0
+>>8    default x               unknown
+!:mime application/x-adrift

Modified: head/contrib/file/magic/Magdir/apple
==============================================================================
--- head/contrib/file/magic/Magdir/apple        Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/apple        Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: apple,v 1.30 2015/04/13 13:09:06 christos Exp $
+# $File: apple,v 1.31 2015/08/29 07:10:35 christos Exp $
 # apple:  file(1) magic for Apple file formats
 #
 0      search/1/t      FiLeStArTfIlEsTaRt      binscii (apple ][) text
@@ -265,14 +265,14 @@
 >>20   beshort x                       \b, descriptors %d
 # Assume       8 partitions each at a multiple of the sector size.
 # We could glean this from the partition descriptors, but they are empty!?!?
->>(2.S*1)      indirect                \b, contains[@0x%x]: 
->>(2.S*2)      indirect                \b, contains[@0x%x]: 
->>(2.S*3)      indirect                \b, contains[@0x%x]: 
->>(2.S*4)      indirect                \b, contains[@0x%x]: 
->>(2.S*5)      indirect                \b, contains[@0x%x]: 
->>(2.S*6)      indirect                \b, contains[@0x%x]: 
->>(2.S*7)      indirect                \b, contains[@0x%x]: 
->>(2.S*8)      indirect                \b, contains[@0x%x]: 
+>>(2.S*1)      indirect        x       \b, contains[@0x%x]: 
+>>(2.S*2)      indirect        x       \b, contains[@0x%x]: 
+>>(2.S*3)      indirect        x       \b, contains[@0x%x]: 
+>>(2.S*4)      indirect        x       \b, contains[@0x%x]: 
+>>(2.S*5)      indirect        x       \b, contains[@0x%x]: 
+>>(2.S*6)      indirect        x       \b, contains[@0x%x]: 
+>>(2.S*7)      indirect        x       \b, contains[@0x%x]: 
+>>(2.S*8)      indirect        x       \b, contains[@0x%x]: 
 
 # Yes, the 3rd and 4th bytes are reserved, but we use them to make the
 # magic stronger.

Modified: head/contrib/file/magic/Magdir/archive
==============================================================================
--- head/contrib/file/magic/Magdir/archive      Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/archive      Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,5 +1,5 @@
 #------------------------------------------------------------------------------
-# $File: archive,v 1.90 2015/04/24 15:44:12 christos Exp $
+# $File: archive,v 1.91 2015/09/16 13:49:33 christos Exp $
 # archive:  file(1) magic for archive formats (see also "msdos" for self-
 #           extracting compressed archives)
 #
@@ -434,16 +434,34 @@
 # AIN
 0      string  \x33\x18 AIN archive data
 0      string  \x33\x17 AIN archive data
-# XPA32
-0      string  xpa\0\1 XPA32 archive data
+# XPA32 test moved and merged with XPA by Joerg Jenderek at Sep 2015
 # SZip (TODO: doesn't catch all versions)
 0      string  SZ\x0a\4 SZip archive data
 # XPack DiskImage
-0      string  jm XPack DiskImage archive data
+# *.XDI updated by Joerg Jenderek Sep 2015
+# ftp://ftp.sac.sk/pub/sac/pack/0index.txt 
+# GRR: this test is still too general as it catches also text files starting 
with jm
+0      string  jm      
+# only found examples with this additional characteristic 2 bytes
+>2     string  \x2\x4  Xpack DiskImage archive data
+#!:ext xdi
 # XPack Data
-0      string  xpa XPack archive data
+# *.xpa updated by Joerg Jenderek Sep 2015
+# ftp://ftp.elf.stuba.sk/pub/pc/pack/
+0      string  xpa     XPA
+!:ext  xpa
+# XPA32
+# ftp://ftp.elf.stuba.sk/pub/pc/pack/xpa32.zip
+# created by XPA32.EXE version 1.0.2 for Windows
+>0     string  xpa\0\1 \b32 archive data
+# created by XPACK.COM version 1.67m or 1.67r with short 0x1800 
+>3     ubeshort        !0x0001 \bck archive data
 # XPack Single Data
-0      string  \xc3\x8d\ jm XPack single archive data
+# changed by Joerg Jenderek Sep 2015 back to like in version 5.12
+# letter 'I'+ acute accent is equivalent to \xcd
+0      string  \xcd\ jm        Xpack single archive data
+#!:mime        application/x-xpa-compressed
+!:ext xpa
 
 # TODO: missing due to unknown magic/magic at end of file:
 #DWC

Modified: head/contrib/file/magic/Magdir/c-lang
==============================================================================
--- head/contrib/file/magic/Magdir/c-lang       Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/c-lang       Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,5 +1,5 @@
 #------------------------------------------------------------------------------
-# $File: c-lang,v 1.19 2014/06/03 19:17:27 christos Exp $
+# $File: c-lang,v 1.20 2015/07/27 14:33:10 christos Exp $
 # c-lang:  file(1) magic for C and related languages programs
 #
 
@@ -29,7 +29,7 @@
 
 # C++
 # The strength of these rules is increased so they beat the C rules above
-0      regex   \^template[\ \t\n]+     C++ source text
+0      regex   \^template[\ \t]+<.*>[\ \t\n]+  C++ source text
 !:strength + 5
 !:mime text/x-c++
 0      regex   \^virtual[\ \t\n]+              C++ source text

Modified: head/contrib/file/magic/Magdir/c64
==============================================================================
--- head/contrib/file/magic/Magdir/c64  Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/c64  Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: c64,v 1.5 2009/09/19 16:28:08 christos Exp $
+# $File: c64,v 1.6 2015/08/24 05:17:42 christos Exp $
 # c64:  file(1) magic for various commodore 64 related files
 #
 # From: Dirk Jagdmann <d...@cubic.org>
@@ -41,3 +41,9 @@
 >32    leshort         x               Version:0x%x
 >36    leshort         !0              Entries:%i
 >40    string          x               Name:%.24s
+
+# Raw tape file format (.tap files)
+# Esa Hyyti <e...@netlab.tkk.fi>
+0      string          C64-TAPE-RAW    C64 Raw Tape File (.tap),
+>0x0c  byte            x               Version:%u,
+>0x10   lelong         x               Length:%u cycles

Modified: head/contrib/file/magic/Magdir/compress
==============================================================================
--- head/contrib/file/magic/Magdir/compress     Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/compress     Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,5 +1,5 @@
 #------------------------------------------------------------------------------
-# $File: compress,v 1.63 2015/03/11 19:27:35 christos Exp $
+# $File: compress,v 1.64 2015/07/27 15:41:09 christos Exp $
 # compress:  file(1) magic for pure-compression formats (no archives)
 #
 # compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc.
@@ -258,7 +258,8 @@
 !:mime application/x-qpress
 
 # Zlib https://www.ietf.org/rfc/rfc6713.txt
-0      beshort%31      =0      
->0     byte&0xf        =8
->>0    byte&0x80       =0      zlib compressed data
+0      string/b        x
+>0     beshort%31      =0      
+>>0    byte&0xf        =8
+>>>0   byte&0x80       =0      zlib compressed data
 !:mime application/zlib

Modified: head/contrib/file/magic/Magdir/database
==============================================================================
--- head/contrib/file/magic/Magdir/database     Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/database     Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: database,v 1.44 2015/07/02 18:25:57 christos Exp $
+# $File: database,v 1.45 2015/09/09 16:25:29 christos Exp $
 # database:  file(1) magic for various databases
 #
 # extracted from header/code files by Graeme Wilford (eep...@ee.surrey.ac.uk)
@@ -541,3 +541,7 @@
 
 # IDA (Interactive Disassembler) database
 0      string          IDA1    IDA (Interactive Disassembler) database
+
+# Hopper (reverse engineering tool) http://www.hopperapp.com/
+0      string          hopperdb        Hopper database
+

Modified: head/contrib/file/magic/Magdir/filesystems
==============================================================================
--- head/contrib/file/magic/Magdir/filesystems  Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/filesystems  Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,5 +1,5 @@
 #------------------------------------------------------------------------------
-# $File: filesystems,v 1.109 2015/02/22 01:22:54 christos Exp $
+# $File: filesystems,v 1.111 2015/09/09 16:26:54 christos Exp $
 # filesystems:  file(1) magic for different filesystems
 #
 0      name    partid  
@@ -1721,7 +1721,7 @@
 0x410  leshort         0x137f
 !:strength / 2
 >0x402 beshort         < 100
->0x402 beshort         > -1            Minix filesystem, V1, %d zones
+>0x402 beshort         > -1            Minix filesystem, V1, 14 char names, %d 
zones
 >0x1e  string          minix           \b, bootable
 0x410  beshort         0x137f
 !:strength / 2
@@ -1740,27 +1740,26 @@
 >0x1e  string          minix           \b, bootable
 0x410  leshort         0x2468
 >0x402 beshort         < 100
->>0x402        beshort         > -1            Minix filesystem, V2, %d zones
+>>0x402        beshort         > -1            Minix filesystem, V2, 14 char 
names
 >0x1e  string          minix           \b, bootable
 0x410  beshort         0x2468
 >0x402 beshort         < 100
->0x402 beshort         > -1            Minix filesystem, V2 (big endian), %d 
zones
+>0x402 beshort         > -1            Minix filesystem, V2 (big endian)
 >0x1e  string          minix           \b, bootable
-
 0x410  leshort         0x2478
 >0x402 beshort         < 100
->0x402 beshort         > -1            Minix filesystem, V2, 30 char names, %d 
zones
+>0x402 beshort         > -1            Minix filesystem, V2, 30 char names
 >0x1e  string          minix           \b, bootable
 0x410  leshort         0x2478
 >0x402 beshort         < 100
->0x402 beshort         > -1            Minix filesystem, V2, 30 char names, %d 
zones
+>0x402 beshort         > -1            Minix filesystem, V2, 30 char names
 >0x1e  string          minix           \b, bootable
 0x410  beshort         0x2478
->0x402 beshort         !0              Minix filesystem, V2, 30 char names 
(big endian), %d zones
->0x1e  string          minix           \b, bootable
-0x410  leshort         0x4d5a
->0x402 beshort         !0              Minix filesystem, V3, %d zones
+>0x402 beshort         !0              Minix filesystem, V2, 30 char names 
(big endian)
 >0x1e  string          minix           \b, bootable
+0x418  leshort         0x4d5a
+>0x402 beshort         <100
+>>0x402        beshort         > -1            Minix filesystem, V3, 60 char 
names
 
 # SGI disk labels - Nathan Scott <nath...@debian.org>
 0      belong          0x0BE5A941      SGI disk label (volume header)
@@ -2209,13 +2208,21 @@
 >>0x10024        belong          x               (blocksize %d,
 >>0x10060        string          >\0             lockproto %s)
 
-# BTRFS
-0x10040         string          _BHRfS_M        BTRFS Filesystem
->0x1012b        string          >\0             (label "%s",
->0x10090        lelong          x               sectorsize %d,
->0x10094        lelong          x               nodesize %d,
->0x10098        lelong          x               leafsize %d)
-
+# Russell Coker <russ...@coker.com.au>
+0x10040                string  _BHRfS_M        BTRFS Filesystem
+>0x1012b       string  >\0             label "%s",
+>0x10090       lelong  x               sectorsize %d,
+>0x10094       lelong  x               nodesize %d,
+>0x10098       lelong  x               leafsize %d,
+>0x10020       belong  x               UUID=%8x-
+>0x10024       beshort x               \b%4x-
+>0x10026       beshort x               \b%4x-
+>0x10028       beshort x               \b%4x-
+>0x1002a       beshort x               \b%4x
+>0x1002c       belong  x               \b%8x,
+>0x10078       lequad  x               %lld/
+>0x10070       lequad  x               \b%lld bytes used,
+>0x10088       lequad  x               %lld devices
 
 # dvdisaster's .ecc
 # From: "Nelson A. de Oliveira" <nao...@gmail.com>

Modified: head/contrib/file/magic/Magdir/frame
==============================================================================
--- head/contrib/file/magic/Magdir/frame        Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/frame        Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: frame,v 1.12 2009/09/19 16:28:09 christos Exp $
+# $File: frame,v 1.13 2015/08/29 07:10:35 christos Exp $
 # frame:  file(1) magic for FrameMaker files
 #
 # This stuff came on a FrameMaker demo tape, most of which is
@@ -41,10 +41,10 @@
 >10    string          1.0              (1.0
 >13    byte            x                 %c)
 # XXX - this book entry should be verified, if you find one, uncomment this
-#0     string          \<Book\         FrameMaker Book (ASCII) file
+#0     string          \<Book\040      FrameMaker Book (ASCII) file
 #!:mime        application/x-mif
 #>6    string          3.0              (3.0)
 #>6    string          2.0              (2.0)
 #>6    string          1.0              (1.0)
-0      string          \<Maker Intermediate Print File FrameMaker IPL file
+0      string          \<Maker\040Intermediate\040Print\040File        
FrameMaker IPL file
 !:mime application/x-mif

Modified: head/contrib/file/magic/Magdir/iff
==============================================================================
--- head/contrib/file/magic/Magdir/iff  Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/iff  Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: iff,v 1.13 2011/09/06 11:00:06 christos Exp $
+# $File: iff,v 1.14 2015/09/07 10:03:21 christos Exp $
 # iff: file(1) magic for Interchange File Format (see also "audio" & "images")
 #
 # Daniel Quinlan (quin...@yggdrasil.com) -- IFF was designed by Electronic
@@ -62,6 +62,7 @@
 
 # These go at the end of the iff rules
 #
+# David Griffith <d...@661.org>
 # I don't see why these might collide with anything else.
 #
 # Interactive Fiction related formats
@@ -69,3 +70,4 @@
 >8     string          IFRS            \b, Blorb Interactive Fiction
 >>24   string          Exec            with executable chunk
 >8     string          IFZS            \b, Z-machine or Glulx saved game file 
 >(Quetzal)
+!:mime application/x-blorb

Modified: head/contrib/file/magic/Magdir/images
==============================================================================
--- head/contrib/file/magic/Magdir/images       Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/images       Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: images,v 1.106 2015/02/22 01:26:05 christos Exp $
+# $File: images,v 1.107 2015/07/11 14:40:10 christos Exp $
 # images:  file(1) magic for image formats (see also "iff", and "c-lang" for
 # XPM bitmaps)
 #
@@ -37,7 +37,7 @@
 # The next byte following the magic is always whitespace.
 # strength is changed to try these patterns before "x86 boot sector"
 0      name            netpbm
->3     regex/s         =[0-9]{1,50}\ [0-9]{1,50}       Netpbm PPM image data
+>3     regex/s         =[0-9]{1,50}\ [0-9]{1,50}       Netpbm image data
 >>&0   regex           =[0-9]{1,50}                    \b, size = %s x
 >>>&0  regex           =[0-9]{1,50}                    \b %s
 
@@ -59,7 +59,6 @@
 !:strength + 45
 !:mime image/x-portable-pixmap
 
-
 0      string          P4              
 >0     use             netpbm
 >>0    string          x       \b, rawbits, bitmap

Modified: head/contrib/file/magic/Magdir/karma
==============================================================================
--- head/contrib/file/magic/Magdir/karma        Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/karma        Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,9 +1,9 @@
 
 #------------------------------------------------------------------------------
-# $File: karma,v 1.7 2014/04/30 21:41:02 christos Exp $
+# $File: karma,v 1.8 2015/08/29 07:10:35 christos Exp $
 # karma:  file(1) magic for Karma data files
 #
 # From <rgo...@atnf.csiro.au>
 
-0      string          KarmaRHD Version        Karma Data Structure Version
+0      string  KarmaRHD\040Version     Karma Data Structure Version
 >16    belong          x               %u

Modified: head/contrib/file/magic/Magdir/linux
==============================================================================
--- head/contrib/file/magic/Magdir/linux        Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/linux        Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: linux,v 1.62 2015/05/03 13:06:36 christos Exp $
+# $File: linux,v 1.63 2015/08/24 05:16:11 christos Exp $
 # linux:  file(1) magic for Linux files
 #
 # Values for Linux/i386 binaries, from Daniel Quinlan <quin...@yggdrasil.com>
@@ -417,6 +417,25 @@
 0              lelong          0xde020109      locale archive
 >24            lelong          x               %d strings
 
+# Linux Software RAID (mdadm)
+# Russell Coker <russ...@coker.com.au>
+0      name    linuxraid
+>16    belong  x               UUID=%8x:
+>20    belong  x               \b%8x:
+>24    belong  x               \b%8x:
+>28    belong  x               \b%8x
+>32    string  x               name=%s
+>72    lelong  x               level=%d
+>92    lelong  x               disks=%d
+
+4096   lelong  0xa92b4efc      Linux Software RAID
+>4100  lelong  x               version 1.2 (%d)
+>4096  use     linuxraid
+
+0      lelong  0xa92b4efc      Linux Software RAID
+>4     lelong  x               version 1.1 (%d)
+>0     use     linuxraid
+
 # Summary:     Database file for mlocate
 # Description: A database file as used by mlocate, a fast implementation
 #              of locate/updatedb. It uses merging to reuse the existing

Modified: head/contrib/file/magic/Magdir/make
==============================================================================
--- head/contrib/file/magic/Magdir/make Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/make Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,5 +1,5 @@
 #------------------------------------------------------------------------------
-# $File: make,v 1.1 2011/12/08 12:12:46 rrt Exp $
+# $File: make,v 1.2 2015/08/25 07:34:06 christos Exp $
 # make:  file(1) magic for makefiles
 #
 0      regex/100l      \^CFLAGS        makefile script text

Modified: head/contrib/file/magic/Magdir/map
==============================================================================
--- head/contrib/file/magic/Magdir/map  Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/map  Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,7 +1,7 @@
 
 
 #------------------------------------------------------------------------------
-# $File: map,v 1.3 2015/07/09 15:16:41 christos Exp $
+# $File: map,v 1.4 2015/08/10 05:18:27 christos Exp $
 # map:  file(1) magic for Map data
 #
 
@@ -25,3 +25,17 @@
 >>53   byte    4               \b (Activity)
 >>53   byte    8               \b (Elevations)
 >>53   byte    10              \b (Totals)
+
+# TOM TOM GPS watches ttbin files:
+# http://github.com/ryanbinns/ttwatch/tree/master/ttbin
+# From: Daniel Lenski
+0      byte    0x20
+>1     leshort 0x0007
+>>0x76 byte    0x20
+>>>0x77        leshort 0x0075          TomTom activity file, v7
+>>>>8  leldate x               (%s,
+>>>>3  byte    x               device firmware %d.
+>>>>4  byte    x               \b%d.
+>>>>5  byte    x               \b%d,
+>>>>6  leshort x               product ID %04d)
+

Modified: head/contrib/file/magic/Magdir/msdos
==============================================================================
--- head/contrib/file/magic/Magdir/msdos        Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/msdos        Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: msdos,v 1.100 2014/06/03 19:17:27 christos Exp $
+# $File: msdos,v 1.101 2015/08/24 05:08:48 christos Exp $
 # msdos:  file(1) magic for MS-DOS files
 #
 
@@ -772,7 +772,7 @@
 0      ulequad 0x3a000000024e4c        MS Advisor help file
 
 # HtmlHelp files (.chm)
-0      string/b        ITSF\003\000\000\000\x60\000\000\000\001\000\000\000    
MS Windows HtmlHelp Data
+0      string/b        ITSF\003\000\000\000\x60\000\000\000    MS Windows 
HtmlHelp Data
 
 # GFA-BASIC (Wolfram Kleff)
 2      string/b        GFA-BASIC3      GFA-BASIC 3 data

Modified: head/contrib/file/magic/Magdir/netscape
==============================================================================
--- head/contrib/file/magic/Magdir/netscape     Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/netscape     Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: netscape,v 1.6 2009/09/19 16:28:11 christos Exp $
+# $File: netscape,v 1.7 2015/08/24 05:20:52 christos Exp $
 # netscape:  file(1) magic for Netscape files
 # "H. Nanosecond" <aldo...@ix.netcom.com>
 # version 3 and 4 I think
@@ -22,4 +22,5 @@
 
 #
 #This is files ending in .art, FIXME add more rules
-0       string          JG\004\016\0\0\0\0      ART
+0      string  JG\004\016\0\0\0\0      AOL ART image
+0      string  JG\003\016\0\0\0\0      AOL ART image

Modified: head/contrib/file/magic/Magdir/python
==============================================================================
--- head/contrib/file/magic/Magdir/python       Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/python       Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: python,v 1.26 2014/08/04 05:58:40 christos Exp $
+# $File: python,v 1.27 2015/09/08 13:59:44 christos Exp $
 # python:  file(1) magic for python
 #
 # Outlook puts """ too for urgent messages
@@ -26,12 +26,16 @@
 0      belong          0xee0c0d0a      python 3.4 byte-compiled
 
 0      search/1/w      #!\ /usr/bin/python     Python script text executable
+!:strength + 10
 !:mime text/x-python
 0      search/1/w      #!\ /usr/local/bin/python       Python script text 
executable
+!:strength + 10
 !:mime text/x-python
 0      search/1        #!/usr/bin/env\ python  Python script text executable
+!:strength + 10
 !:mime text/x-python
-0      search/1        #!\ /usr/bin/env\ python        Python script text 
executable
+0      search/10       #!\ /usr/bin/env\ python        Python script text 
executable
+!:strength + 10
 !:mime text/x-python
 
 

Modified: head/contrib/file/magic/Magdir/scientific
==============================================================================
--- head/contrib/file/magic/Magdir/scientific   Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/scientific   Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: scientific,v 1.9 2014/06/03 19:01:34 christos Exp $
+# $File: scientific,v 1.10 2015/08/24 05:18:55 christos Exp $
 # scientific:  file(1) magic for scientific formats 
 #
 # From: Joe Krahn <kr...@niehs.nih.gov>
@@ -104,3 +104,8 @@
 >>5    byte    x               version %d.0
 >4     byte    >0x00           version %d
 >>5    byte    x               \b.%d
+
+# Type: LXT (interLaced eXtensible Trace)
+# chrysn <chr...@fsfe.org>
+0      beshort 0x0138  interLaced eXtensible Trace (LXT) file
+>2     beshort >0      (Version %u)

Modified: head/contrib/file/magic/Magdir/sgi
==============================================================================
--- head/contrib/file/magic/Magdir/sgi  Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/sgi  Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: sgi,v 1.21 2014/04/30 21:41:02 christos Exp $
+# $File: sgi,v 1.22 2015/08/29 07:10:35 christos Exp $
 # sgi:  file(1) magic for Silicon Graphics operating systems and applications
 #
 # Executable images are handled either in aout (for old-style a.out
@@ -55,8 +55,8 @@
 0      string  WNGZWZSS        Wingz spreadsheet
 0      string  WNGZWZHP        Wingz help file
 #
-0      string  #Inventor V     IRIS Inventor 1.0 file
-0      string  #Inventor V2    Open Inventor 2.0 file
+0      string  #Inventor\040V  IRIS Inventor 1.0 file
+0      string  #Inventor\040V2 Open Inventor 2.0 file
 # GLF is OpenGL stream encoding
 0      string  glfHeadMagic();         GLF_TEXT
 4      belong  0x7d000000              GLF_BINARY_LSB_FIRST

Modified: head/contrib/file/magic/Magdir/sgml
==============================================================================
--- head/contrib/file/magic/Magdir/sgml Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/sgml Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,5 +1,4 @@
-#------------------------------------------------------------------------------
-# $File: sgml,v 1.31 2015/03/11 19:38:04 christos Exp $
+#------------------------------------------------------------------------------
 # $File: sgml,v 1.32 2015/07/11 15:08:53 christos Exp $
 # Type:        SVG Vectorial Graphics
 # From:        Noel Torres <tecn...@ejerciciosresueltos.com>
 0      string          \<?xml\ version="
@@ -24,16 +23,16 @@
 
 # xhtml
 0      string/t                \<?xml\ version="
->15    string          >\0
->>19   search/4096/cWbt        \<!doctype\ html        XHTML document text
+>19    search/4096/cWbt        \<!doctype\ html        XHTML document text
+>>15   string          >\0     (version %.3s)
 !:mime text/html
 0      string/t                \<?xml\ version='
->15    string          >\0
->>19   search/4096/cWbt        \<!doctype\ html        XHTML document text
+>19    search/4096/cWbt        \<!doctype\ html        XHTML document text
+>>15   string          >\0     (version %.3s)
 !:mime text/html
 0      string/t                \<?xml\ version="
->15    string          >\0
->>19   search/4096/cWbt        \<html  broken XHTML document text
+>19    search/4096/cWbt        \<html  broken XHTML document text
+>>15   string          >\0     (version %.3s)
 !:mime text/html
 
 #------------------------------------------------------------------------------
@@ -106,9 +105,6 @@
 >15    string/t        >\0                     %.3s document text
 >>23   search/1        \<xsl:stylesheet        (XSL stylesheet)
 >>24   search/1        \<xsl:stylesheet        (XSL stylesheet)
-0      search/1/wbt    \<?xml                  XML document text
-!:mime application/xml
-!:strength - 10
 0      search/1/wt     \<?XML                  broken XML document text
 !:mime application/xml
 !:strength - 10

Modified: head/contrib/file/magic/Magdir/windows
==============================================================================
--- head/contrib/file/magic/Magdir/windows      Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/magic/Magdir/windows      Wed Sep 23 05:39:20 2015        
(r288143)
@@ -1,6 +1,6 @@
 
 #------------------------------------------------------------------------------
-# $File: windows,v 1.10 2014/09/24 19:52:46 christos Exp $
+# $File: windows,v 1.12 2015/08/29 07:10:35 christos Exp $
 # windows:  file(1) magic for Microsoft Windows
 #
 # This file is mainly reserved for files where programs
@@ -89,7 +89,7 @@
 >20    lelong&16       16      \b, Has Working directory
 >20    lelong&32       32      \b, Has command line arguments
 >20    lelong&64       64      \b, Icon
->>56   lelong                  \b number=%d
+>>56   lelong          x       \b number=%d
 >24    lelong&1        1       \b, Read-Only
 >24    lelong&2        2       \b, Hidden
 >24    lelong&4        4       \b, System
@@ -239,6 +239,7 @@
 # 
http://read.pudn.com/downloads3/sourcecode/windows/248345/win2k/private/windows/setup/setupapi/inf.h__.htm
 # GRR: line below too general as it catches also PDP-11 UNIX/RT ldp
 0              leshort&0xFeFe  0x0000          
+!:strength -5
 # test for unused null bits in PNF_FLAGs
 >4     ulelong&0xFCffFe00      0x00000000      
 # only found 58h for Offset of WinDirPath immediately after _PNF_HEADER 
structure

Modified: head/contrib/file/src/apprentice.c
==============================================================================
--- head/contrib/file/src/apprentice.c  Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/src/apprentice.c  Wed Sep 23 05:39:20 2015        
(r288143)
@@ -32,7 +32,7 @@
 #include "file.h"
 
 #ifndef        lint
-FILE_RCSID("@(#)$File: apprentice.c,v 1.233 2015/06/10 00:57:41 christos Exp 
$")
+FILE_RCSID("@(#)$File: apprentice.c,v 1.238 2015/09/12 18:10:42 christos Exp 
$")
 #endif /* lint */
 
 #include "magic.h"
@@ -531,6 +531,7 @@ file_ms_alloc(int flags)
        ms->elf_shnum_max = FILE_ELF_SHNUM_MAX;
        ms->elf_phnum_max = FILE_ELF_PHNUM_MAX;
        ms->elf_notes_max = FILE_ELF_NOTES_MAX;
+       ms->regex_max = FILE_REGEX_MAX;
        return ms;
 free:
        free(ms);
@@ -540,6 +541,7 @@ free:
 private void
 apprentice_unmap(struct magic_map *map)
 {
+       size_t i;
        if (map == NULL)
                return;
 
@@ -552,6 +554,8 @@ apprentice_unmap(struct magic_map *map)
 #endif
        case MAP_TYPE_MALLOC:
                free(map->p);
+               for (i = 0; i < MAGIC_SETS; i++)
+                       free(map->magic[i]);
                break;
        case MAP_TYPE_USER:
                break;
@@ -1288,6 +1292,7 @@ apprentice_load(struct magic_set *ms, co
                file_oomem(ms, sizeof(*map));
                return NULL;
        }
+       map->type = MAP_TYPE_MALLOC;
 
        /* print silly verbose header for USG compat. */
        if (action == FILE_CHECK)
@@ -1348,8 +1353,9 @@ apprentice_load(struct magic_set *ms, co
                        }
                        i = set_text_binary(ms, mset[j].me, mset[j].count, i);
                }
-               qsort(mset[j].me, mset[j].count, sizeof(*mset[j].me),
-                   apprentice_sort);
+               if (mset[j].me)
+                       qsort(mset[j].me, mset[j].count, sizeof(*mset[j].me),
+                           apprentice_sort);
 
                /*
                 * Make sure that any level 0 "default" line is last
@@ -2555,12 +2561,14 @@ getvalue(struct magic_set *ms, struct ma
        case FILE_LEFLOAT:
                if (m->reln != 'x') {
                        char *ep;
+                       errno = 0;
 #ifdef HAVE_STRTOF
                        m->value.f = strtof(*p, &ep);
 #else
                        m->value.f = (float)strtod(*p, &ep);
 #endif
-                       *p = ep;
+                       if (errno == 0)
+                               *p = ep;
                }
                return 0;
        case FILE_DOUBLE:
@@ -2568,17 +2576,22 @@ getvalue(struct magic_set *ms, struct ma
        case FILE_LEDOUBLE:
                if (m->reln != 'x') {
                        char *ep;
+                       errno = 0;
                        m->value.d = strtod(*p, &ep);
-                       *p = ep;
+                       if (errno == 0)
+                               *p = ep;
                }
                return 0;
        default:
                if (m->reln != 'x') {
                        char *ep;
+                       errno = 0;
                        m->value.q = file_signextend(ms, m,
                            (uint64_t)strtoull(*p, &ep, 0));
-                       *p = ep;
-                       eatsize(p);
+                       if (errno == 0) {
+                               *p = ep;
+                               eatsize(p);
+                       }
                }
                return 0;
        }
@@ -2614,6 +2627,7 @@ getstr(struct magic_set *ms, struct magi
                        case '\0':
                                if (warn)
                                        file_magwarn(ms, "incomplete escape");
+                               s--;
                                goto out;
 
                        case '\t':
@@ -2737,6 +2751,7 @@ getstr(struct magic_set *ms, struct magi
                } else
                        *p++ = (char)c;
        }
+       --s;
 out:
        *p = '\0';
        m->vallen = CAST(unsigned char, (p - origp));
@@ -3209,9 +3224,10 @@ file_pstring_length_size(const struct ma
        }
 }
 protected size_t
-file_pstring_get_length(const struct magic *m, const char *s)
+file_pstring_get_length(const struct magic *m, const char *ss)
 {
        size_t len = 0;
+       const unsigned char *s = (const unsigned char *)ss;
 
        switch (m->str_flags & PSTRING_LEN) {
        case PSTRING_1_LE:

Modified: head/contrib/file/src/file.c
==============================================================================
--- head/contrib/file/src/file.c        Wed Sep 23 05:14:48 2015        
(r288142)
+++ head/contrib/file/src/file.c        Wed Sep 23 05:39:20 2015        
(r288143)
@@ -32,7 +32,7 @@
 #include "file.h"
 
 #ifndef        lint
-FILE_RCSID("@(#)$File: file.c,v 1.165 2015/06/11 12:52:32 christos Exp $")
+FILE_RCSID("@(#)$File: file.c,v 1.167 2015/09/11 17:24:09 christos Exp $")
 #endif /* lint */
 
 #include "magic.h"
@@ -131,6 +131,7 @@ private struct {
        { "elf_phnum",  MAGIC_PARAM_ELF_PHNUM_MAX, 0 },
        { "elf_shnum",  MAGIC_PARAM_ELF_SHNUM_MAX, 0 },
        { "elf_notes",  MAGIC_PARAM_ELF_NOTES_MAX, 0 },
+       { "regex",      MAGIC_PARAM_REGEX_MAX, 0 },
 };
 
 private char *progname;                /* used throughout              */
@@ -237,6 +238,7 @@ main(int argc, char *argv[])
                        if (magic == NULL)
                                if ((magic = load(magicfile, flags)) == NULL)
                                        return 1;
+                       applyparam(magic);
                        e |= unwrap(magic, optarg);
                        ++didsomefiles;

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to