Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Jan 2016 21:09:49 +1100 (EST)
From:      Bruce Evans <brde@optusnet.com.au>
To:        NGie Cooper <yaneurabeya@gmail.com>
Cc:        Bruce Evans <brde@optusnet.com.au>, Garrett Cooper <ngie@freebsd.org>,  src-committers@freebsd.org, svn-src-user@freebsd.org
Subject:   Re: svn commit: r294246 - user/ngie/socket-tests/tools/regression/sockets/unix_cmsg
Message-ID:  <20160121210556.H1101@besplex.bde.org>
In-Reply-To: <347D22CE-6DDB-4AE9-879A-73743723B481@gmail.com>
References:  <201601180432.u0I4WJYa008708@repo.freebsd.org> <20160118153831.K1354@besplex.bde.org> <347D22CE-6DDB-4AE9-879A-73743723B481@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, 20 Jan 2016, NGie Cooper wrote:

>> On Jan 17, 2016, at 21:13, Bruce Evans <brde@optusnet.com.au> wrote:
>>
>> On Mon, 18 Jan 2016, Garrett Cooper wrote:
>>
>>> Log:
>>> Checkpoint work to bump WARNS to 6
>>>
>>> Try to fix -Wcast-align issues by using bcopy to assign the values in
>>> the structure.
>>
>> Using the standard memmove() instead of the BSD bcopy() might be conside=
red
>> a style bug.  However, this is a case where memmove() works better.  The
> ...
> I tried memmove and unfortunately it failed similar to bcopy. I think I n=
eed to do =E2=80=9Cdeeper copying=E2=80=9D in the structures to ensure that=
 all of the fields are properly copied over in the bcopy, but I=E2=80=99ll =
look at what gdb says first.

I didn't know that using bcopy didn't actually work.  On x86 you should
expect it to not change the object code except for bugs in the conversion
or some complication which is hopefully localized.

Bruce
From owner-svn-src-user@freebsd.org  Thu Jan 21 17:09:41 2016
Return-Path: <owner-svn-src-user@freebsd.org>
Delivered-To: svn-src-user@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id 79FC7A8CEFC
 for <svn-src-user@mailman.ysv.freebsd.org>;
 Thu, 21 Jan 2016 17:09:41 +0000 (UTC)
 (envelope-from ngie@FreeBSD.org)
Received: from repo.freebsd.org (repo.freebsd.org
 [IPv6:2610:1c1:1:6068::e6a:0])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (Client did not present a certificate)
 by mx1.freebsd.org (Postfix) with ESMTPS id 3206615FC;
 Thu, 21 Jan 2016 17:09:41 +0000 (UTC)
 (envelope-from ngie@FreeBSD.org)
Received: from repo.freebsd.org ([127.0.1.37])
 by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id u0LH9eKw005275;
 Thu, 21 Jan 2016 17:09:40 GMT (envelope-from ngie@FreeBSD.org)
Received: (from ngie@localhost)
 by repo.freebsd.org (8.15.2/8.15.2/Submit) id u0LH9d7J005265;
 Thu, 21 Jan 2016 17:09:39 GMT (envelope-from ngie@FreeBSD.org)
Message-Id: <201601211709.u0LH9d7J005265@repo.freebsd.org>
X-Authentication-Warning: repo.freebsd.org: ngie set sender to
 ngie@FreeBSD.org using -f
From: Garrett Cooper <ngie@FreeBSD.org>
Date: Thu, 21 Jan 2016 17:09:39 +0000 (UTC)
To: src-committers@freebsd.org, svn-src-user@freebsd.org
Subject: svn commit: r294513 - in user/ngie/stable-10-libnv: contrib/less
 contrib/netcat contrib/smbfs/lib/smb lib lib/libc/rpc lib/libc/string
 lib/libc/tests/net lib/libstand lib/msun/tests sbin/mount shar...
X-SVN-Group: user
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
X-BeenThere: svn-src-user@freebsd.org
X-Mailman-Version: 2.1.20
Precedence: list
List-Id: "SVN commit messages for the experimental &quot; user&quot;
 src tree" <svn-src-user.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/svn-src-user/>;
List-Post: <mailto:svn-src-user@freebsd.org>
List-Help: <mailto:svn-src-user-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/svn-src-user>,
 <mailto:svn-src-user-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Thu, 21 Jan 2016 17:09:41 -0000

Author: ngie
Date: Thu Jan 21 17:09:38 2016
New Revision: 294513
URL: https://svnweb.freebsd.org/changeset/base/294513

Log:
  MFstable/10 @ r294512

Added:
  user/ngie/stable-10-libnv/contrib/less/compose.uni
     - copied unchanged from r294512, stable/10/contrib/less/compose.uni
  user/ngie/stable-10-libnv/contrib/less/mkutable
     - copied unchanged from r294512, stable/10/contrib/less/mkutable
  user/ngie/stable-10-libnv/contrib/less/ubin.uni
     - copied unchanged from r294512, stable/10/contrib/less/ubin.uni
  user/ngie/stable-10-libnv/contrib/less/wide.uni
     - copied unchanged from r294512, stable/10/contrib/less/wide.uni
  user/ngie/stable-10-libnv/lib/msun/tests/ctrig_test.c
     - copied unchanged from r294512, stable/10/lib/msun/tests/ctrig_test.c
  user/ngie/stable-10-libnv/lib/msun/tests/exponential_test.c
     - copied unchanged from r294512, stable/10/lib/msun/tests/exponential_test.c
  user/ngie/stable-10-libnv/lib/msun/tests/fma_test.c
     - copied unchanged from r294512, stable/10/lib/msun/tests/fma_test.c
  user/ngie/stable-10-libnv/lib/msun/tests/invtrig_test.c
     - copied unchanged from r294512, stable/10/lib/msun/tests/invtrig_test.c
  user/ngie/stable-10-libnv/lib/msun/tests/lround_test.c
     - copied unchanged from r294512, stable/10/lib/msun/tests/lround_test.c
  user/ngie/stable-10-libnv/lib/msun/tests/lround_test.t
     - copied unchanged from r294512, stable/10/lib/msun/tests/lround_test.t
  user/ngie/stable-10-libnv/lib/msun/tests/test-utils.h
     - copied unchanged from r294512, stable/10/lib/msun/tests/test-utils.h
  user/ngie/stable-10-libnv/sys/boot/i386/libi386/multiboot.c
     - copied unchanged from r294512, stable/10/sys/boot/i386/libi386/multiboot.c
  user/ngie/stable-10-libnv/sys/boot/i386/libi386/multiboot.h
     - copied unchanged from r294512, stable/10/sys/boot/i386/libi386/multiboot.h
  user/ngie/stable-10-libnv/sys/boot/i386/libi386/multiboot_tramp.S
     - copied unchanged from r294512, stable/10/sys/boot/i386/libi386/multiboot_tramp.S
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_lic.c
     - copied unchanged from r294512, stable/10/sys/dev/sfxge/common/efx_lic.c
  user/ngie/stable-10-libnv/sys/modules/dtrace/systrace_linux/
     - copied from r294512, stable/10/sys/modules/dtrace/systrace_linux/
  user/ngie/stable-10-libnv/sys/x86/include/metadata.h
     - copied unchanged from r294512, stable/10/sys/x86/include/metadata.h
  user/ngie/stable-10-libnv/usr.bin/systat/sctp.c
     - copied unchanged from r294512, stable/10/usr.bin/systat/sctp.c
Deleted:
  user/ngie/stable-10-libnv/tools/regression/lib/msun/
Modified:
  user/ngie/stable-10-libnv/contrib/less/LICENSE
  user/ngie/stable-10-libnv/contrib/less/NEWS
  user/ngie/stable-10-libnv/contrib/less/README
  user/ngie/stable-10-libnv/contrib/less/brac.c
  user/ngie/stable-10-libnv/contrib/less/ch.c
  user/ngie/stable-10-libnv/contrib/less/charset.c
  user/ngie/stable-10-libnv/contrib/less/charset.h
  user/ngie/stable-10-libnv/contrib/less/cmd.h
  user/ngie/stable-10-libnv/contrib/less/cmdbuf.c
  user/ngie/stable-10-libnv/contrib/less/command.c
  user/ngie/stable-10-libnv/contrib/less/cvt.c
  user/ngie/stable-10-libnv/contrib/less/decode.c
  user/ngie/stable-10-libnv/contrib/less/edit.c
  user/ngie/stable-10-libnv/contrib/less/filename.c
  user/ngie/stable-10-libnv/contrib/less/forwback.c
  user/ngie/stable-10-libnv/contrib/less/funcs.h
  user/ngie/stable-10-libnv/contrib/less/help.c
  user/ngie/stable-10-libnv/contrib/less/ifile.c
  user/ngie/stable-10-libnv/contrib/less/input.c
  user/ngie/stable-10-libnv/contrib/less/jump.c
  user/ngie/stable-10-libnv/contrib/less/less.h
  user/ngie/stable-10-libnv/contrib/less/less.hlp
  user/ngie/stable-10-libnv/contrib/less/less.nro
  user/ngie/stable-10-libnv/contrib/less/lessecho.c
  user/ngie/stable-10-libnv/contrib/less/lessecho.nro
  user/ngie/stable-10-libnv/contrib/less/lesskey.c
  user/ngie/stable-10-libnv/contrib/less/lesskey.h
  user/ngie/stable-10-libnv/contrib/less/lesskey.nro
  user/ngie/stable-10-libnv/contrib/less/lglob.h
  user/ngie/stable-10-libnv/contrib/less/line.c
  user/ngie/stable-10-libnv/contrib/less/linenum.c
  user/ngie/stable-10-libnv/contrib/less/lsystem.c
  user/ngie/stable-10-libnv/contrib/less/main.c
  user/ngie/stable-10-libnv/contrib/less/mark.c
  user/ngie/stable-10-libnv/contrib/less/mkhelp.c
  user/ngie/stable-10-libnv/contrib/less/optfunc.c
  user/ngie/stable-10-libnv/contrib/less/option.c
  user/ngie/stable-10-libnv/contrib/less/option.h
  user/ngie/stable-10-libnv/contrib/less/opttbl.c
  user/ngie/stable-10-libnv/contrib/less/os.c
  user/ngie/stable-10-libnv/contrib/less/output.c
  user/ngie/stable-10-libnv/contrib/less/pattern.c
  user/ngie/stable-10-libnv/contrib/less/pattern.h
  user/ngie/stable-10-libnv/contrib/less/pckeys.h
  user/ngie/stable-10-libnv/contrib/less/position.c
  user/ngie/stable-10-libnv/contrib/less/position.h
  user/ngie/stable-10-libnv/contrib/less/prompt.c
  user/ngie/stable-10-libnv/contrib/less/regexp.c
  user/ngie/stable-10-libnv/contrib/less/screen.c
  user/ngie/stable-10-libnv/contrib/less/scrsize.c
  user/ngie/stable-10-libnv/contrib/less/search.c
  user/ngie/stable-10-libnv/contrib/less/signal.c
  user/ngie/stable-10-libnv/contrib/less/tags.c
  user/ngie/stable-10-libnv/contrib/less/ttyin.c
  user/ngie/stable-10-libnv/contrib/less/version.c
  user/ngie/stable-10-libnv/contrib/netcat/nc.1
  user/ngie/stable-10-libnv/contrib/netcat/netcat.c
  user/ngie/stable-10-libnv/contrib/netcat/socks.c
  user/ngie/stable-10-libnv/contrib/smbfs/lib/smb/nb_name.c
  user/ngie/stable-10-libnv/lib/Makefile
  user/ngie/stable-10-libnv/lib/libc/rpc/rpc_soc.c
  user/ngie/stable-10-libnv/lib/libc/rpc/rpcb_clnt.c
  user/ngie/stable-10-libnv/lib/libc/rpc/rpcb_prot.c
  user/ngie/stable-10-libnv/lib/libc/string/wcslcat.c
  user/ngie/stable-10-libnv/lib/libc/string/wcsncat.c
  user/ngie/stable-10-libnv/lib/libc/tests/net/Makefile
  user/ngie/stable-10-libnv/lib/libstand/Makefile
  user/ngie/stable-10-libnv/lib/libstand/bootp.c
  user/ngie/stable-10-libnv/lib/msun/tests/Makefile
  user/ngie/stable-10-libnv/sbin/mount/mount.c
  user/ngie/stable-10-libnv/share/man/man4/sfxge.4
  user/ngie/stable-10-libnv/share/man/man7/ascii.7
  user/ngie/stable-10-libnv/share/man/man9/Makefile
  user/ngie/stable-10-libnv/share/man/man9/pci.9
  user/ngie/stable-10-libnv/share/misc/ascii   (contents, props changed)
  user/ngie/stable-10-libnv/sys/amd64/include/metadata.h
  user/ngie/stable-10-libnv/sys/amd64/include/pcb.h
  user/ngie/stable-10-libnv/sys/amd64/linux/linux_proto.h
  user/ngie/stable-10-libnv/sys/amd64/linux/linux_syscall.h
  user/ngie/stable-10-libnv/sys/amd64/linux/linux_syscalls.c
  user/ngie/stable-10-libnv/sys/amd64/linux/linux_sysent.c
  user/ngie/stable-10-libnv/sys/amd64/linux/linux_systrace_args.c
  user/ngie/stable-10-libnv/sys/amd64/linux/syscalls.master
  user/ngie/stable-10-libnv/sys/amd64/linux32/linux.h
  user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_locore.s
  user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_proto.h
  user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_syscall.h
  user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_syscalls.c
  user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_sysent.c
  user/ngie/stable-10-libnv/sys/amd64/linux32/linux32_sysvec.c
  user/ngie/stable-10-libnv/sys/amd64/linux32/syscalls.conf
  user/ngie/stable-10-libnv/sys/amd64/linux32/syscalls.master
  user/ngie/stable-10-libnv/sys/boot/common/bootstrap.h
  user/ngie/stable-10-libnv/sys/boot/common/load_elf.c
  user/ngie/stable-10-libnv/sys/boot/common/load_elf_obj.c
  user/ngie/stable-10-libnv/sys/boot/common/module.c
  user/ngie/stable-10-libnv/sys/boot/efi/boot1/Makefile
  user/ngie/stable-10-libnv/sys/boot/efi/boot1/boot1.c
  user/ngie/stable-10-libnv/sys/boot/efi/include/efierr.h
  user/ngie/stable-10-libnv/sys/boot/efi/libefi/Makefile
  user/ngie/stable-10-libnv/sys/boot/efi/libefi/efi_console.c
  user/ngie/stable-10-libnv/sys/boot/efi/loader/Makefile
  user/ngie/stable-10-libnv/sys/boot/efi/loader/bootinfo.c
  user/ngie/stable-10-libnv/sys/boot/efi/loader/copy.c
  user/ngie/stable-10-libnv/sys/boot/efi/loader/main.c
  user/ngie/stable-10-libnv/sys/boot/fdt/fdt_loader_cmd.c
  user/ngie/stable-10-libnv/sys/boot/ficl/amd64/sysdep.c
  user/ngie/stable-10-libnv/sys/boot/forth/beastie.4th
  user/ngie/stable-10-libnv/sys/boot/forth/beastie.4th.8
  user/ngie/stable-10-libnv/sys/boot/forth/loader.4th
  user/ngie/stable-10-libnv/sys/boot/forth/loader.conf.5
  user/ngie/stable-10-libnv/sys/boot/forth/support.4th
  user/ngie/stable-10-libnv/sys/boot/i386/libi386/Makefile
  user/ngie/stable-10-libnv/sys/boot/i386/libi386/bootinfo64.c
  user/ngie/stable-10-libnv/sys/boot/i386/libi386/elf64_freebsd.c
  user/ngie/stable-10-libnv/sys/boot/i386/libi386/libi386.h
  user/ngie/stable-10-libnv/sys/boot/i386/loader/conf.c
  user/ngie/stable-10-libnv/sys/boot/i386/zfsboot/zfsboot.c
  user/ngie/stable-10-libnv/sys/boot/ia64/efi/Makefile
  user/ngie/stable-10-libnv/sys/boot/libstand32/Makefile
  user/ngie/stable-10-libnv/sys/boot/pc98/boot2/boot2.c
  user/ngie/stable-10-libnv/sys/boot/pc98/libpc98/biosdisk.c
  user/ngie/stable-10-libnv/sys/boot/uboot/common/main.c
  user/ngie/stable-10-libnv/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  user/ngie/stable-10-libnv/sys/cddl/dev/systrace/systrace.c
  user/ngie/stable-10-libnv/sys/compat/linux/linux_misc.c
  user/ngie/stable-10-libnv/sys/conf/files.amd64
  user/ngie/stable-10-libnv/sys/dev/drm2/i915/intel_iic.c
  user/ngie/stable-10-libnv/sys/dev/iicbus/iicbb.c
  user/ngie/stable-10-libnv/sys/dev/iicbus/iicbus.c
  user/ngie/stable-10-libnv/sys/dev/iicbus/iicoc.c
  user/ngie/stable-10-libnv/sys/dev/iicbus/iicsmb.c
  user/ngie/stable-10-libnv/sys/dev/pci/pci.c
  user/ngie/stable-10-libnv/sys/dev/pci/pci_if.m
  user/ngie/stable-10-libnv/sys/dev/pci/pci_private.h
  user/ngie/stable-10-libnv/sys/dev/pci/pcireg.h
  user/ngie/stable-10-libnv/sys/dev/pci/pcivar.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/ef10_impl.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/ef10_tlv_layout.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efsys.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_check.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_impl.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_mac.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_mcdi.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_mcdi.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_nic.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_nvram.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_phy.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_regs_ef10.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_rx.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_tx.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/efx_vpd.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_ev.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_impl.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_mac.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_mcdi.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_nic.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_nvram.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_phy.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_tx.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/hunt_vpd.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/medford_impl.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/medford_nic.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/siena_flash.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/siena_impl.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/siena_mcdi.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/siena_nic.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/siena_nvram.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/common/siena_vpd.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/sfxge.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/sfxge_tx.c
  user/ngie/stable-10-libnv/sys/dev/sfxge/sfxge_tx.h
  user/ngie/stable-10-libnv/sys/dev/sfxge/sfxge_version.h
  user/ngie/stable-10-libnv/sys/fs/ext2fs/ext2_bmap.c
  user/ngie/stable-10-libnv/sys/fs/ext2fs/ext2_extents.c
  user/ngie/stable-10-libnv/sys/fs/ext2fs/ext2_extents.h
  user/ngie/stable-10-libnv/sys/fs/ext2fs/ext2_vnops.c
  user/ngie/stable-10-libnv/sys/fs/smbfs/smbfs_smb.c
  user/ngie/stable-10-libnv/sys/fs/smbfs/smbfs_subr.h
  user/ngie/stable-10-libnv/sys/fs/smbfs/smbfs_vnops.c
  user/ngie/stable-10-libnv/sys/geom/geom_disk.c
  user/ngie/stable-10-libnv/sys/i386/include/metadata.h
  user/ngie/stable-10-libnv/sys/i386/include/pcb.h
  user/ngie/stable-10-libnv/sys/kern/kern_linker.c
  user/ngie/stable-10-libnv/sys/kern/kern_mib.c
  user/ngie/stable-10-libnv/sys/kern/kern_proc.c
  user/ngie/stable-10-libnv/sys/kern/makesyscalls.sh
  user/ngie/stable-10-libnv/sys/mips/include/elf.h
  user/ngie/stable-10-libnv/sys/modules/dtrace/Makefile
  user/ngie/stable-10-libnv/sys/modules/dtrace/systrace_linux32/Makefile
  user/ngie/stable-10-libnv/sys/modules/sfxge/Makefile
  user/ngie/stable-10-libnv/sys/net/bpf.c
  user/ngie/stable-10-libnv/sys/net/if.c
  user/ngie/stable-10-libnv/sys/net/if_llatbl.c
  user/ngie/stable-10-libnv/sys/netinet/tcp_subr.c
  user/ngie/stable-10-libnv/sys/netinet6/in6.c
  user/ngie/stable-10-libnv/sys/sys/elf32.h
  user/ngie/stable-10-libnv/sys/sys/elf64.h
  user/ngie/stable-10-libnv/sys/sys/elf_common.h
  user/ngie/stable-10-libnv/sys/vm/vm_kern.c
  user/ngie/stable-10-libnv/tools/regression/sockets/accf_data_attach/accf_data_attach.c
  user/ngie/stable-10-libnv/tools/regression/sockets/reconnect/reconnect.c
  user/ngie/stable-10-libnv/tools/regression/sockets/sendfile/sendfile.c
  user/ngie/stable-10-libnv/tools/regression/sockets/so_setfib/so_setfib.c
  user/ngie/stable-10-libnv/tools/regression/sockets/unix_gc/Makefile
  user/ngie/stable-10-libnv/tools/regression/sockets/unix_gc/unix_gc.c
  user/ngie/stable-10-libnv/tools/regression/sockets/zerosend/Makefile
  user/ngie/stable-10-libnv/tools/regression/sockets/zerosend/zerosend.c
  user/ngie/stable-10-libnv/usr.bin/elfdump/elfdump.c
  user/ngie/stable-10-libnv/usr.bin/less/defines.h
  user/ngie/stable-10-libnv/usr.bin/systat/Makefile
  user/ngie/stable-10-libnv/usr.bin/systat/cmdtab.c
  user/ngie/stable-10-libnv/usr.bin/systat/extern.h
  user/ngie/stable-10-libnv/usr.bin/systat/systat.1
  user/ngie/stable-10-libnv/usr.sbin/Makefile
  user/ngie/stable-10-libnv/usr.sbin/Makefile.amd64
  user/ngie/stable-10-libnv/usr.sbin/Makefile.arm
  user/ngie/stable-10-libnv/usr.sbin/Makefile.i386
  user/ngie/stable-10-libnv/usr.sbin/Makefile.ia64
  user/ngie/stable-10-libnv/usr.sbin/Makefile.powerpc
  user/ngie/stable-10-libnv/usr.sbin/Makefile.sparc64
  user/ngie/stable-10-libnv/usr.sbin/bhyve/pci_virtio_net.c
  user/ngie/stable-10-libnv/usr.sbin/boot0cfg/boot0cfg.c
  user/ngie/stable-10-libnv/usr.sbin/bsdinstall/scripts/zfsboot
  user/ngie/stable-10-libnv/usr.sbin/jail/command.c
  user/ngie/stable-10-libnv/usr.sbin/jail/config.c
  user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.8
  user/ngie/stable-10-libnv/usr.sbin/pciconf/pciconf.c
Directory Properties:
  user/ngie/stable-10-libnv/   (props changed)

Modified: user/ngie/stable-10-libnv/contrib/less/LICENSE
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/LICENSE	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/LICENSE	Thu Jan 21 17:09:38 2016	(r294513)
@@ -2,7 +2,7 @@
                           ------------
 
 Less
-Copyright (C) 1984-2012  Mark Nudelman
+Copyright (C) 1984-2015  Mark Nudelman
 
 Redistribution and use in source and binary forms, with or without
 modification, are permitted provided that the following conditions

Modified: user/ngie/stable-10-libnv/contrib/less/NEWS
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/NEWS	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/NEWS	Thu Jan 21 17:09:38 2016	(r294513)
@@ -7,7 +7,44 @@
       http://www.greenwoodsoftware.com/less
   You can also download the latest version of less from there.
 
-  To report bugs, suggestions or comments, send email to bug-less@gnu.org.
+  To report bugs, suggestions or comments, send email to bug-less@gnu.org
+
+======================================================================
+
+	Major changes between "less" versions 458 and 481
+
+* Don't overwrite history file; just append to it.
+
+* New command ESC-G goes to end of currently buffered data in a pipe.
+
+* Disable history feature when compiled with LESSHISTFILE set to "-".
+
+* In more-compatible mode, make the -p option apply to every file opened,
+  not just the first one.
+
+* In more-compatible mode, change the -e option to work like -E, not -EF.
+
+* Treat multiple CRs before LF are like one CR (all the CRs are hidden).
+
+* Allow "extra" string in lesskey file to append to a multi-char command
+  (like a search pattern), without executing the command.
+
+* Ignore -u/-U setting while viewing help file, so that 
+  underline and bold chars are displayed correctly.
+
+* Improve detection of "binary" files in UTF-8 mode.
+
+* Fix bug with ++ commands.
+
+* Fix bug where prompt was sometimes not displayed with +G.
+
+* Fix possible memory corruption 
+
+* Fix bugs and improve performance in ampersand filtering.
+
+* Automate construction of Unicode tables from Unicode database.
+
+* Allow %% escape sequence in LESSOPEN variable.
 
 ======================================================================
 

Modified: user/ngie/stable-10-libnv/contrib/less/README
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/README	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/README	Thu Jan 21 17:09:38 2016	(r294513)
@@ -7,9 +7,9 @@
 **************************************************************************
 **************************************************************************
 
-                            Less, version 458
+                            Less, version 481
 
-    This is the distribution of less, version 458, released 04 Apr 2013.
+    This is the distribution of less, version 481, released 31 Aug 2015.
     This program is part of the GNU project (http://www.gnu.org).
 
     This program is free software.  You may redistribute it and/or
@@ -53,8 +53,9 @@ INSTALLATION (Unix systems only):
      Specifies the regular expression library used by less for pattern
      matching.  The default is "auto", which means the configure program 
      finds a regular expression library automatically.  Other values are:
-        posix          Use the POSIX-compatible regcomp.
+        gnu            Use the GNU regex library.
         pcre           Use the PCRE library.
+        posix          Use the POSIX-compatible regcomp.
         regcmp         Use the regcmp library.
         re_comp        Use the re_comp library.
         regcomp        Use the V8-compatible regcomp.

Modified: user/ngie/stable-10-libnv/contrib/less/brac.c
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/brac.c	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/brac.c	Thu Jan 21 17:09:38 2016	(r294513)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1984-2012  Mark Nudelman
+ * Copyright (C) 1984-2015  Mark Nudelman
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Less License, as specified in the README file.

Modified: user/ngie/stable-10-libnv/contrib/less/ch.c
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/ch.c	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/ch.c	Thu Jan 21 17:09:38 2016	(r294513)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1984-2012  Mark Nudelman
+ * Copyright (C) 1984-2015  Mark Nudelman
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Less License, as specified in the README file.
@@ -54,7 +54,7 @@ struct buf {
  * The file state is maintained in a filestate structure.
  * A pointer to the filestate is kept in the ifile structure.
  */
-#define	BUFHASH_SIZE	64
+#define	BUFHASH_SIZE	1024
 struct filestate {
 	struct bufnode buflist;
 	struct bufnode hashtbl[BUFHASH_SIZE];
@@ -323,13 +323,16 @@ ch_get()
 #if HAVE_STAT_INO
 			if (follow_mode == FOLLOW_NAME)
 			{
-				/* See whether the file's i-number has changed.
+				/* See whether the file's i-number has changed,
+				 * or the file has shrunk.
 				 * If so, force the file to be closed and
 				 * reopened. */
 				struct stat st;
+				POSITION curr_pos = ch_tell();
 				int r = stat(get_filename(curr_ifile), &st);
 				if (r == 0 && (st.st_ino != curr_ino ||
-					st.st_dev != curr_dev))
+					st.st_dev != curr_dev ||
+					(curr_pos != NULL_POSITION && st.st_size < curr_pos)))
 				{
 					/* screen_trashed=2 causes
 					 * make_display to reopen the file. */
@@ -536,6 +539,32 @@ ch_end_seek()
 }
 
 /*
+ * Seek to the last position in the file that is currently buffered.
+ */
+	public int
+ch_end_buffer_seek()
+{
+	register struct buf *bp;
+	register struct bufnode *bn;
+	POSITION buf_pos;
+	POSITION end_pos;
+
+	if (thisfile == NULL || (ch_flags & CH_CANSEEK))
+		return (ch_end_seek());
+
+	end_pos = 0;
+	FOR_BUFS(bn)
+	{
+		bp = bufnode_buf(bn);
+		buf_pos = (bp->block * LBUFSIZE) + bp->datasize;
+		if (buf_pos > end_pos)
+			end_pos = buf_pos;
+	}
+
+	return (ch_seek(end_pos));
+}
+
+/*
  * Seek to the beginning of the file, or as close to it as we can get.
  * We may not be able to seek there if input is a pipe and the
  * beginning of the pipe is no longer buffered.

Modified: user/ngie/stable-10-libnv/contrib/less/charset.c
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/charset.c	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/charset.c	Thu Jan 21 17:09:38 2016	(r294513)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1984-2012  Mark Nudelman
+ * Copyright (C) 1984-2015  Mark Nudelman
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Less License, as specified in the README file.
@@ -466,36 +466,15 @@ prutfchar(ch)
 		else
 			SNPRINTF1(buf, sizeof(buf), binfmt, (char) ch);
 	} else if (is_ubin_char(ch))
+	{
 		SNPRINTF1(buf, sizeof(buf), utfbinfmt, ch);
-	else
+	} else
 	{
-		int len;
+		char *p = buf;
 		if (ch >= 0x80000000)
-		{
-			len = 3;
-			ch = 0xFFFD;
-		} else
-		{
-			len =   (ch < 0x80) ? 1
-			      : (ch < 0x800) ? 2
-			      : (ch < 0x10000) ? 3
-			      : (ch < 0x200000) ? 4
-			      : (ch < 0x4000000) ? 5
-			      : 6;
-		}
-		buf[len] = '\0';
-		if (len == 1)
-			*buf = (char) ch;
-		else
-		{
-			*buf = ((1 << len) - 1) << (8 - len);
-			while (--len > 0)
-			{
-				buf[len] = (char) (0x80 | (ch & 0x3F));
-				ch >>= 6;
-			}
-			*buf |= ch;
-		}
+			ch = 0xFFFD; /* REPLACEMENT CHARACTER */
+		put_wchar(&p, ch);
+		*p = '\0';
 	}
 	return (buf);
 }
@@ -524,11 +503,12 @@ utf_len(ch)
 }
 
 /*
- * Is a UTF-8 character well-formed?
+ * Does the parameter point to the lead byte of a well-formed UTF-8 character?
  */
 	public int
-is_utf8_well_formed(s)
+is_utf8_well_formed(s, slen)
 	unsigned char *s;
+	int slen;
 {
 	int i;
 	int len;
@@ -537,6 +517,8 @@ is_utf8_well_formed(s)
 		return (0);
 
 	len = utf_len((char) s[0]);
+	if (len > slen)
+		return (0);
 	if (len == 1)
 		return (1);
 	if (len == 2)
@@ -558,6 +540,35 @@ is_utf8_well_formed(s)
 }
 
 /*
+ * Return number of invalid UTF-8 sequences found in a buffer.
+ */
+	public int
+utf_bin_count(data, len)
+	unsigned char *data;
+	int len;
+{
+	int bin_count = 0;
+	while (len > 0)
+	{
+		if (is_utf8_well_formed(data, len))
+		{
+			int clen = utf_len(*data);
+			data += clen;
+			len -= clen;
+		} else
+		{
+			/* Skip to next lead byte. */
+			bin_count++;
+			do {
+				++data;
+				--len;
+			} while (len > 0 && !IS_UTF8_LEAD(*data));
+		}
+	}
+	return (bin_count);
+}
+
+/*
  * Get the value of a UTF-8 character.
  */
 	public LWCHAR
@@ -706,411 +717,51 @@ step_char(pp, dir, limit)
 
 /*
  * Unicode characters data
+ * Actual data is in the generated *.uni files.
  */
-struct wchar_range { LWCHAR first, last; };
 
-/*
- * Characters with general category values
- *	Mn: Mark, Nonspacing
- *	Me: Mark, Enclosing
- * Last synched with
- *	<http://www.unicode.org/Public/5.0.0/ucd/UnicodeData-5.0.0d7.txt>;
- *	dated 2005-11-30T00:58:48Z
- */
-static struct wchar_range comp_table[] = {
-	{  0x0300,  0x036F} /* Mn */, {  0x0483,  0x0486} /* Mn */,
-	{  0x0488,  0x0489} /* Me */,
-	{  0x0591,  0x05BD} /* Mn */, {  0x05BF,  0x05BF} /* Mn */,
-	{  0x05C1,  0x05C2} /* Mn */, {  0x05C4,  0x05C5} /* Mn */,
-	{  0x05C7,  0x05C7} /* Mn */, {  0x0610,  0x0615} /* Mn */,
-	{  0x064B,  0x065E} /* Mn */, {  0x0670,  0x0670} /* Mn */,
-	{  0x06D6,  0x06DC} /* Mn */,
-	{  0x06DE,  0x06DE} /* Me */,
-	{  0x06DF,  0x06E4} /* Mn */, {  0x06E7,  0x06E8} /* Mn */,
-	{  0x06EA,  0x06ED} /* Mn */, {  0x0711,  0x0711} /* Mn */,
-	{  0x0730,  0x074A} /* Mn */, {  0x07A6,  0x07B0} /* Mn */,
-	{  0x07EB,  0x07F3} /* Mn */, {  0x0901,  0x0902} /* Mn */,
-	{  0x093C,  0x093C} /* Mn */, {  0x0941,  0x0948} /* Mn */,
-	{  0x094D,  0x094D} /* Mn */, {  0x0951,  0x0954} /* Mn */,
-	{  0x0962,  0x0963} /* Mn */, {  0x0981,  0x0981} /* Mn */,
-	{  0x09BC,  0x09BC} /* Mn */, {  0x09C1,  0x09C4} /* Mn */,
-	{  0x09CD,  0x09CD} /* Mn */, {  0x09E2,  0x09E3} /* Mn */,
-	{  0x0A01,  0x0A02} /* Mn */, {  0x0A3C,  0x0A3C} /* Mn */,
-	{  0x0A41,  0x0A42} /* Mn */, {  0x0A47,  0x0A48} /* Mn */,
-	{  0x0A4B,  0x0A4D} /* Mn */, {  0x0A70,  0x0A71} /* Mn */,
-	{  0x0A81,  0x0A82} /* Mn */, {  0x0ABC,  0x0ABC} /* Mn */,
-	{  0x0AC1,  0x0AC5} /* Mn */, {  0x0AC7,  0x0AC8} /* Mn */,
-	{  0x0ACD,  0x0ACD} /* Mn */, {  0x0AE2,  0x0AE3} /* Mn */,
-	{  0x0B01,  0x0B01} /* Mn */, {  0x0B3C,  0x0B3C} /* Mn */,
-	{  0x0B3F,  0x0B3F} /* Mn */, {  0x0B41,  0x0B43} /* Mn */,
-	{  0x0B4D,  0x0B4D} /* Mn */, {  0x0B56,  0x0B56} /* Mn */,
-	{  0x0B82,  0x0B82} /* Mn */, {  0x0BC0,  0x0BC0} /* Mn */,
-	{  0x0BCD,  0x0BCD} /* Mn */, {  0x0C3E,  0x0C40} /* Mn */,
-	{  0x0C46,  0x0C48} /* Mn */, {  0x0C4A,  0x0C4D} /* Mn */,
-	{  0x0C55,  0x0C56} /* Mn */, {  0x0CBC,  0x0CBC} /* Mn */,
-	{  0x0CBF,  0x0CBF} /* Mn */, {  0x0CC6,  0x0CC6} /* Mn */,
-	{  0x0CCC,  0x0CCD} /* Mn */, {  0x0CE2,  0x0CE3} /* Mn */,
-	{  0x0D41,  0x0D43} /* Mn */, {  0x0D4D,  0x0D4D} /* Mn */,
-	{  0x0DCA,  0x0DCA} /* Mn */, {  0x0DD2,  0x0DD4} /* Mn */,
-	{  0x0DD6,  0x0DD6} /* Mn */, {  0x0E31,  0x0E31} /* Mn */,
-	{  0x0E34,  0x0E3A} /* Mn */, {  0x0E47,  0x0E4E} /* Mn */,
-	{  0x0EB1,  0x0EB1} /* Mn */, {  0x0EB4,  0x0EB9} /* Mn */,
-	{  0x0EBB,  0x0EBC} /* Mn */, {  0x0EC8,  0x0ECD} /* Mn */,
-	{  0x0F18,  0x0F19} /* Mn */, {  0x0F35,  0x0F35} /* Mn */,
-	{  0x0F37,  0x0F37} /* Mn */, {  0x0F39,  0x0F39} /* Mn */,
-	{  0x0F71,  0x0F7E} /* Mn */, {  0x0F80,  0x0F84} /* Mn */,
-	{  0x0F86,  0x0F87} /* Mn */, {  0x0F90,  0x0F97} /* Mn */,
-	{  0x0F99,  0x0FBC} /* Mn */, {  0x0FC6,  0x0FC6} /* Mn */,
-	{  0x102D,  0x1030} /* Mn */, {  0x1032,  0x1032} /* Mn */,
-	{  0x1036,  0x1037} /* Mn */, {  0x1039,  0x1039} /* Mn */,
-	{  0x1058,  0x1059} /* Mn */, {  0x135F,  0x135F} /* Mn */,
-	{  0x1712,  0x1714} /* Mn */, {  0x1732,  0x1734} /* Mn */,
-	{  0x1752,  0x1753} /* Mn */, {  0x1772,  0x1773} /* Mn */,
-	{  0x17B7,  0x17BD} /* Mn */, {  0x17C6,  0x17C6} /* Mn */,
-	{  0x17C9,  0x17D3} /* Mn */, {  0x17DD,  0x17DD} /* Mn */,
-	{  0x180B,  0x180D} /* Mn */, {  0x18A9,  0x18A9} /* Mn */,
-	{  0x1920,  0x1922} /* Mn */, {  0x1927,  0x1928} /* Mn */,
-	{  0x1932,  0x1932} /* Mn */, {  0x1939,  0x193B} /* Mn */,
-	{  0x1A17,  0x1A18} /* Mn */, {  0x1B00,  0x1B03} /* Mn */,
-	{  0x1B34,  0x1B34} /* Mn */, {  0x1B36,  0x1B3A} /* Mn */,
-	{  0x1B3C,  0x1B3C} /* Mn */, {  0x1B42,  0x1B42} /* Mn */,
-	{  0x1B6B,  0x1B73} /* Mn */, {  0x1DC0,  0x1DCA} /* Mn */,
-	{  0x1DFE,  0x1DFF} /* Mn */, {  0x20D0,  0x20DC} /* Mn */,
-	{  0x20DD,  0x20E0} /* Me */,
-	{  0x20E1,  0x20E1} /* Mn */,
-	{  0x20E2,  0x20E4} /* Me */,
-	{  0x20E5,  0x20EF} /* Mn */, {  0x302A,  0x302F} /* Mn */,
-	{  0x3099,  0x309A} /* Mn */, {  0xA806,  0xA806} /* Mn */,
-	{  0xA80B,  0xA80B} /* Mn */, {  0xA825,  0xA826} /* Mn */,
-	{  0xFB1E,  0xFB1E} /* Mn */, {  0xFE00,  0xFE0F} /* Mn */,
-	{  0xFE20,  0xFE23} /* Mn */, { 0x10A01, 0x10A03} /* Mn */,
-	{ 0x10A05, 0x10A06} /* Mn */, { 0x10A0C, 0x10A0F} /* Mn */,
-	{ 0x10A38, 0x10A3A} /* Mn */, { 0x10A3F, 0x10A3F} /* Mn */,
-	{ 0x1D167, 0x1D169} /* Mn */, { 0x1D17B, 0x1D182} /* Mn */,
-	{ 0x1D185, 0x1D18B} /* Mn */, { 0x1D1AA, 0x1D1AD} /* Mn */,
-	{ 0x1D242, 0x1D244} /* Mn */, { 0xE0100, 0xE01EF} /* Mn */,
-};
+#define DECLARE_RANGE_TABLE_START(name) \
+    static struct wchar_range name##_array[] = {
+#define DECLARE_RANGE_TABLE_END(name) \
+    }; struct wchar_range_table name##_table = { name##_array, sizeof(name##_array)/sizeof(*name##_array) };
 
-/*
- * Special pairs, not ranges.
- */
+DECLARE_RANGE_TABLE_START(compose)
+#include "compose.uni"
+DECLARE_RANGE_TABLE_END(compose)
+
+DECLARE_RANGE_TABLE_START(ubin)
+#include "ubin.uni"
+DECLARE_RANGE_TABLE_END(ubin)
+
+DECLARE_RANGE_TABLE_START(wide)
+#include "wide.uni"
+DECLARE_RANGE_TABLE_END(wide)
+
+/* comb_table is special pairs, not ranges. */
 static struct wchar_range comb_table[] = {
 	{0x0644,0x0622}, {0x0644,0x0623}, {0x0644,0x0625}, {0x0644,0x0627},
 };
 
-/*
- * Characters with general category values
- *	Cc: Other, Control
- *	Cf: Other, Format
- *	Cs: Other, Surrogate
- *	Co: Other, Private Use
- *	Cn: Other, Not Assigned
- *	Zl: Separator, Line
- *	Zp: Separator, Paragraph
- * Last synched with
- *	<http://www.unicode.org/Public/5.0.0/ucd/UnicodeData-5.0.0d7.txt>;
- *	dated 2005-11-30T00:58:48Z
- */
-static struct wchar_range ubin_table[] = {
-	{  0x0000,  0x0007} /* Cc */, 
-	{  0x000B,  0x000C} /* Cc */, 
-	{  0x000E,  0x001A} /* Cc */, 
-	{  0x001C,  0x001F} /* Cc */, 
-	{  0x007F,  0x009F} /* Cc */,
-#if 0
-	{  0x00AD,  0x00AD} /* Cf */,
-#endif
-	{  0x0370,  0x0373} /* Cn */, {  0x0376,  0x0379} /* Cn */,
-	{  0x037F,  0x0383} /* Cn */, {  0x038B,  0x038B} /* Cn */,
-	{  0x038D,  0x038D} /* Cn */, {  0x03A2,  0x03A2} /* Cn */,
-	{  0x03CF,  0x03CF} /* Cn */, {  0x0487,  0x0487} /* Cn */,
-	{  0x0514,  0x0530} /* Cn */, {  0x0557,  0x0558} /* Cn */,
-	{  0x0560,  0x0560} /* Cn */, {  0x0588,  0x0588} /* Cn */,
-	{  0x058B,  0x0590} /* Cn */, {  0x05C8,  0x05CF} /* Cn */,
-	{  0x05EB,  0x05EF} /* Cn */, {  0x05F5,  0x05FF} /* Cn */,
-#if 0
-	{  0x0600,  0x0603} /* Cf */,
-#endif
-	{  0x0604,  0x060A} /* Cn */, {  0x0616,  0x061A} /* Cn */,
-	{  0x061C,  0x061D} /* Cn */, {  0x0620,  0x0620} /* Cn */,
-	{  0x063B,  0x063F} /* Cn */, {  0x065F,  0x065F} /* Cn */,
-#if 0
-	{  0x06DD,  0x06DD} /* Cf */,
-#endif
-	{  0x070E,  0x070E} /* Cn */,
-#if 0
-	{  0x070F,  0x070F} /* Cf */,
-#endif
-	{  0x074B,  0x074C} /* Cn */, {  0x076E,  0x077F} /* Cn */,
-	{  0x07B2,  0x07BF} /* Cn */, {  0x07FB,  0x0900} /* Cn */,
-	{  0x093A,  0x093B} /* Cn */, {  0x094E,  0x094F} /* Cn */,
-	{  0x0955,  0x0957} /* Cn */, {  0x0971,  0x097A} /* Cn */,
-	{  0x0980,  0x0980} /* Cn */, {  0x0984,  0x0984} /* Cn */,
-	{  0x098D,  0x098E} /* Cn */, {  0x0991,  0x0992} /* Cn */,
-	{  0x09A9,  0x09A9} /* Cn */, {  0x09B1,  0x09B1} /* Cn */,
-	{  0x09B3,  0x09B5} /* Cn */, {  0x09BA,  0x09BB} /* Cn */,
-	{  0x09C5,  0x09C6} /* Cn */, {  0x09C9,  0x09CA} /* Cn */,
-	{  0x09CF,  0x09D6} /* Cn */, {  0x09D8,  0x09DB} /* Cn */,
-	{  0x09DE,  0x09DE} /* Cn */, {  0x09E4,  0x09E5} /* Cn */,
-	{  0x09FB,  0x0A00} /* Cn */, {  0x0A04,  0x0A04} /* Cn */,
-	{  0x0A0B,  0x0A0E} /* Cn */, {  0x0A11,  0x0A12} /* Cn */,
-	{  0x0A29,  0x0A29} /* Cn */, {  0x0A31,  0x0A31} /* Cn */,
-	{  0x0A34,  0x0A34} /* Cn */, {  0x0A37,  0x0A37} /* Cn */,
-	{  0x0A3A,  0x0A3B} /* Cn */, {  0x0A3D,  0x0A3D} /* Cn */,
-	{  0x0A43,  0x0A46} /* Cn */, {  0x0A49,  0x0A4A} /* Cn */,
-	{  0x0A4E,  0x0A58} /* Cn */, {  0x0A5D,  0x0A5D} /* Cn */,
-	{  0x0A5F,  0x0A65} /* Cn */, {  0x0A75,  0x0A80} /* Cn */,
-	{  0x0A84,  0x0A84} /* Cn */, {  0x0A8E,  0x0A8E} /* Cn */,
-	{  0x0A92,  0x0A92} /* Cn */, {  0x0AA9,  0x0AA9} /* Cn */,
-	{  0x0AB1,  0x0AB1} /* Cn */, {  0x0AB4,  0x0AB4} /* Cn */,
-	{  0x0ABA,  0x0ABB} /* Cn */, {  0x0AC6,  0x0AC6} /* Cn */,
-	{  0x0ACA,  0x0ACA} /* Cn */, {  0x0ACE,  0x0ACF} /* Cn */,
-	{  0x0AD1,  0x0ADF} /* Cn */, {  0x0AE4,  0x0AE5} /* Cn */,
-	{  0x0AF0,  0x0AF0} /* Cn */, {  0x0AF2,  0x0B00} /* Cn */,
-	{  0x0B04,  0x0B04} /* Cn */, {  0x0B0D,  0x0B0E} /* Cn */,
-	{  0x0B11,  0x0B12} /* Cn */, {  0x0B29,  0x0B29} /* Cn */,
-	{  0x0B31,  0x0B31} /* Cn */, {  0x0B34,  0x0B34} /* Cn */,
-	{  0x0B3A,  0x0B3B} /* Cn */, {  0x0B44,  0x0B46} /* Cn */,
-	{  0x0B49,  0x0B4A} /* Cn */, {  0x0B4E,  0x0B55} /* Cn */,
-	{  0x0B58,  0x0B5B} /* Cn */, {  0x0B5E,  0x0B5E} /* Cn */,
-	{  0x0B62,  0x0B65} /* Cn */, {  0x0B72,  0x0B81} /* Cn */,
-	{  0x0B84,  0x0B84} /* Cn */, {  0x0B8B,  0x0B8D} /* Cn */,
-	{  0x0B91,  0x0B91} /* Cn */, {  0x0B96,  0x0B98} /* Cn */,
-	{  0x0B9B,  0x0B9B} /* Cn */, {  0x0B9D,  0x0B9D} /* Cn */,
-	{  0x0BA0,  0x0BA2} /* Cn */, {  0x0BA5,  0x0BA7} /* Cn */,
-	{  0x0BAB,  0x0BAD} /* Cn */, {  0x0BBA,  0x0BBD} /* Cn */,
-	{  0x0BC3,  0x0BC5} /* Cn */, {  0x0BC9,  0x0BC9} /* Cn */,
-	{  0x0BCE,  0x0BD6} /* Cn */, {  0x0BD8,  0x0BE5} /* Cn */,
-	{  0x0BFB,  0x0C00} /* Cn */, {  0x0C04,  0x0C04} /* Cn */,
-	{  0x0C0D,  0x0C0D} /* Cn */, {  0x0C11,  0x0C11} /* Cn */,
-	{  0x0C29,  0x0C29} /* Cn */, {  0x0C34,  0x0C34} /* Cn */,
-	{  0x0C3A,  0x0C3D} /* Cn */, {  0x0C45,  0x0C45} /* Cn */,
-	{  0x0C49,  0x0C49} /* Cn */, {  0x0C4E,  0x0C54} /* Cn */,
-	{  0x0C57,  0x0C5F} /* Cn */, {  0x0C62,  0x0C65} /* Cn */,
-	{  0x0C70,  0x0C81} /* Cn */, {  0x0C84,  0x0C84} /* Cn */,
-	{  0x0C8D,  0x0C8D} /* Cn */, {  0x0C91,  0x0C91} /* Cn */,
-	{  0x0CA9,  0x0CA9} /* Cn */, {  0x0CB4,  0x0CB4} /* Cn */,
-	{  0x0CBA,  0x0CBB} /* Cn */, {  0x0CC5,  0x0CC5} /* Cn */,
-	{  0x0CC9,  0x0CC9} /* Cn */, {  0x0CCE,  0x0CD4} /* Cn */,
-	{  0x0CD7,  0x0CDD} /* Cn */, {  0x0CDF,  0x0CDF} /* Cn */,
-	{  0x0CE4,  0x0CE5} /* Cn */, {  0x0CF0,  0x0CF0} /* Cn */,
-	{  0x0CF3,  0x0D01} /* Cn */, {  0x0D04,  0x0D04} /* Cn */,
-	{  0x0D0D,  0x0D0D} /* Cn */, {  0x0D11,  0x0D11} /* Cn */,
-	{  0x0D29,  0x0D29} /* Cn */, {  0x0D3A,  0x0D3D} /* Cn */,
-	{  0x0D44,  0x0D45} /* Cn */, {  0x0D49,  0x0D49} /* Cn */,
-	{  0x0D4E,  0x0D56} /* Cn */, {  0x0D58,  0x0D5F} /* Cn */,
-	{  0x0D62,  0x0D65} /* Cn */, {  0x0D70,  0x0D81} /* Cn */,
-	{  0x0D84,  0x0D84} /* Cn */, {  0x0D97,  0x0D99} /* Cn */,
-	{  0x0DB2,  0x0DB2} /* Cn */, {  0x0DBC,  0x0DBC} /* Cn */,
-	{  0x0DBE,  0x0DBF} /* Cn */, {  0x0DC7,  0x0DC9} /* Cn */,
-	{  0x0DCB,  0x0DCE} /* Cn */, {  0x0DD5,  0x0DD5} /* Cn */,
-	{  0x0DD7,  0x0DD7} /* Cn */, {  0x0DE0,  0x0DF1} /* Cn */,
-	{  0x0DF5,  0x0E00} /* Cn */, {  0x0E3B,  0x0E3E} /* Cn */,
-	{  0x0E5C,  0x0E80} /* Cn */, {  0x0E83,  0x0E83} /* Cn */,
-	{  0x0E85,  0x0E86} /* Cn */, {  0x0E89,  0x0E89} /* Cn */,
-	{  0x0E8B,  0x0E8C} /* Cn */, {  0x0E8E,  0x0E93} /* Cn */,
-	{  0x0E98,  0x0E98} /* Cn */, {  0x0EA0,  0x0EA0} /* Cn */,
-	{  0x0EA4,  0x0EA4} /* Cn */, {  0x0EA6,  0x0EA6} /* Cn */,
-	{  0x0EA8,  0x0EA9} /* Cn */, {  0x0EAC,  0x0EAC} /* Cn */,
-	{  0x0EBA,  0x0EBA} /* Cn */, {  0x0EBE,  0x0EBF} /* Cn */,
-	{  0x0EC5,  0x0EC5} /* Cn */, {  0x0EC7,  0x0EC7} /* Cn */,
-	{  0x0ECE,  0x0ECF} /* Cn */, {  0x0EDA,  0x0EDB} /* Cn */,
-	{  0x0EDE,  0x0EFF} /* Cn */, {  0x0F48,  0x0F48} /* Cn */,
-	{  0x0F6B,  0x0F70} /* Cn */, {  0x0F8C,  0x0F8F} /* Cn */,
-	{  0x0F98,  0x0F98} /* Cn */, {  0x0FBD,  0x0FBD} /* Cn */,
-	{  0x0FCD,  0x0FCE} /* Cn */, {  0x0FD2,  0x0FFF} /* Cn */,
-	{  0x1022,  0x1022} /* Cn */, {  0x1028,  0x1028} /* Cn */,
-	{  0x102B,  0x102B} /* Cn */, {  0x1033,  0x1035} /* Cn */,
-	{  0x103A,  0x103F} /* Cn */, {  0x105A,  0x109F} /* Cn */,
-	{  0x10C6,  0x10CF} /* Cn */, {  0x10FD,  0x10FF} /* Cn */,
-	{  0x115A,  0x115E} /* Cn */, {  0x11A3,  0x11A7} /* Cn */,
-	{  0x11FA,  0x11FF} /* Cn */, {  0x1249,  0x1249} /* Cn */,
-	{  0x124E,  0x124F} /* Cn */, {  0x1257,  0x1257} /* Cn */,
-	{  0x1259,  0x1259} /* Cn */, {  0x125E,  0x125F} /* Cn */,
-	{  0x1289,  0x1289} /* Cn */, {  0x128E,  0x128F} /* Cn */,
-	{  0x12B1,  0x12B1} /* Cn */, {  0x12B6,  0x12B7} /* Cn */,
-	{  0x12BF,  0x12BF} /* Cn */, {  0x12C1,  0x12C1} /* Cn */,
-	{  0x12C6,  0x12C7} /* Cn */, {  0x12D7,  0x12D7} /* Cn */,
-	{  0x1311,  0x1311} /* Cn */, {  0x1316,  0x1317} /* Cn */,
-	{  0x135B,  0x135E} /* Cn */, {  0x137D,  0x137F} /* Cn */,
-	{  0x139A,  0x139F} /* Cn */, {  0x13F5,  0x1400} /* Cn */,
-	{  0x1677,  0x167F} /* Cn */, {  0x169D,  0x169F} /* Cn */,
-	{  0x16F1,  0x16FF} /* Cn */, {  0x170D,  0x170D} /* Cn */,
-	{  0x1715,  0x171F} /* Cn */, {  0x1737,  0x173F} /* Cn */,
-	{  0x1754,  0x175F} /* Cn */, {  0x176D,  0x176D} /* Cn */,
-	{  0x1771,  0x1771} /* Cn */, {  0x1774,  0x177F} /* Cn */,
-#if 0
-	{  0x17B4,  0x17B5} /* Cf */,
-#endif
-	{  0x17DE,  0x17DF} /* Cn */, {  0x17EA,  0x17EF} /* Cn */,
-	{  0x17FA,  0x17FF} /* Cn */, {  0x180F,  0x180F} /* Cn */,
-	{  0x181A,  0x181F} /* Cn */, {  0x1878,  0x187F} /* Cn */,
-	{  0x18AA,  0x18FF} /* Cn */, {  0x191D,  0x191F} /* Cn */,
-	{  0x192C,  0x192F} /* Cn */, {  0x193C,  0x193F} /* Cn */,
-	{  0x1941,  0x1943} /* Cn */, {  0x196E,  0x196F} /* Cn */,
-	{  0x1975,  0x197F} /* Cn */, {  0x19AA,  0x19AF} /* Cn */,
-	{  0x19CA,  0x19CF} /* Cn */, {  0x19DA,  0x19DD} /* Cn */,
-	{  0x1A1C,  0x1A1D} /* Cn */, {  0x1A20,  0x1AFF} /* Cn */,
-	{  0x1B4C,  0x1B4F} /* Cn */, {  0x1B7D,  0x1CFF} /* Cn */,
-	{  0x1DCB,  0x1DFD} /* Cn */, {  0x1E9C,  0x1E9F} /* Cn */,
-	{  0x1EFA,  0x1EFF} /* Cn */, {  0x1F16,  0x1F17} /* Cn */,
-	{  0x1F1E,  0x1F1F} /* Cn */, {  0x1F46,  0x1F47} /* Cn */,
-	{  0x1F4E,  0x1F4F} /* Cn */, {  0x1F58,  0x1F58} /* Cn */,
-	{  0x1F5A,  0x1F5A} /* Cn */, {  0x1F5C,  0x1F5C} /* Cn */,
-	{  0x1F5E,  0x1F5E} /* Cn */, {  0x1F7E,  0x1F7F} /* Cn */,
-	{  0x1FB5,  0x1FB5} /* Cn */, {  0x1FC5,  0x1FC5} /* Cn */,
-	{  0x1FD4,  0x1FD5} /* Cn */, {  0x1FDC,  0x1FDC} /* Cn */,
-	{  0x1FF0,  0x1FF1} /* Cn */, {  0x1FF5,  0x1FF5} /* Cn */,
-	{  0x1FFF,  0x1FFF} /* Cn */,
-	{  0x200B,  0x200F} /* Cf */,
-	{  0x2028,  0x2028} /* Zl */,
-	{  0x2029,  0x2029} /* Zp */,
-	{  0x202A,  0x202E} /* Cf */,
-	{  0x2060,  0x2063} /* Cf */,
-	{  0x2064,  0x2069} /* Cn */,
-	{  0x206A,  0x206F} /* Cf */,
-	{  0x2072,  0x2073} /* Cn */, {  0x208F,  0x208F} /* Cn */,
-	{  0x2095,  0x209F} /* Cn */, {  0x20B6,  0x20CF} /* Cn */,
-	{  0x20F0,  0x20FF} /* Cn */, {  0x214F,  0x2152} /* Cn */,
-	{  0x2185,  0x218F} /* Cn */, {  0x23E8,  0x23FF} /* Cn */,
-	{  0x2427,  0x243F} /* Cn */, {  0x244B,  0x245F} /* Cn */,
-	{  0x269D,  0x269F} /* Cn */, {  0x26B3,  0x2700} /* Cn */,
-	{  0x2705,  0x2705} /* Cn */, {  0x270A,  0x270B} /* Cn */,
-	{  0x2728,  0x2728} /* Cn */, {  0x274C,  0x274C} /* Cn */,
-	{  0x274E,  0x274E} /* Cn */, {  0x2753,  0x2755} /* Cn */,
-	{  0x2757,  0x2757} /* Cn */, {  0x275F,  0x2760} /* Cn */,
-	{  0x2795,  0x2797} /* Cn */, {  0x27B0,  0x27B0} /* Cn */,
-	{  0x27BF,  0x27BF} /* Cn */, {  0x27CB,  0x27CF} /* Cn */,
-	{  0x27EC,  0x27EF} /* Cn */, {  0x2B1B,  0x2B1F} /* Cn */,
-	{  0x2B24,  0x2BFF} /* Cn */, {  0x2C2F,  0x2C2F} /* Cn */,
-	{  0x2C5F,  0x2C5F} /* Cn */, {  0x2C6D,  0x2C73} /* Cn */,
-	{  0x2C78,  0x2C7F} /* Cn */, {  0x2CEB,  0x2CF8} /* Cn */,
-	{  0x2D26,  0x2D2F} /* Cn */, {  0x2D66,  0x2D6E} /* Cn */,
-	{  0x2D70,  0x2D7F} /* Cn */, {  0x2D97,  0x2D9F} /* Cn */,
-	{  0x2DA7,  0x2DA7} /* Cn */, {  0x2DAF,  0x2DAF} /* Cn */,
-	{  0x2DB7,  0x2DB7} /* Cn */, {  0x2DBF,  0x2DBF} /* Cn */,
-	{  0x2DC7,  0x2DC7} /* Cn */, {  0x2DCF,  0x2DCF} /* Cn */,
-	{  0x2DD7,  0x2DD7} /* Cn */, {  0x2DDF,  0x2DFF} /* Cn */,
-	{  0x2E18,  0x2E1B} /* Cn */, {  0x2E1E,  0x2E7F} /* Cn */,
-	{  0x2E9A,  0x2E9A} /* Cn */, {  0x2EF4,  0x2EFF} /* Cn */,
-	{  0x2FD6,  0x2FEF} /* Cn */, {  0x2FFC,  0x2FFF} /* Cn */,
-	{  0x3040,  0x3040} /* Cn */, {  0x3097,  0x3098} /* Cn */,
-	{  0x3100,  0x3104} /* Cn */, {  0x312D,  0x3130} /* Cn */,
-	{  0x318F,  0x318F} /* Cn */, {  0x31B8,  0x31BF} /* Cn */,
-	{  0x31D0,  0x31EF} /* Cn */, {  0x321F,  0x321F} /* Cn */,
-	{  0x3244,  0x324F} /* Cn */, {  0x32FF,  0x32FF} /* Cn */,
-	{  0x4DB6,  0x4DBF} /* Cn */, {  0x9FBC,  0x9FFF} /* Cn */,
-	{  0xA48D,  0xA48F} /* Cn */, {  0xA4C7,  0xA6FF} /* Cn */,
-	{  0xA71B,  0xA71F} /* Cn */, {  0xA722,  0xA7FF} /* Cn */,
-	{  0xA82C,  0xA83F} /* Cn */, {  0xA878,  0xABFF} /* Cn */,
-	{  0xD7A4,  0xD7FF} /* Cn */,
-	{  0xD800,  0xDFFF} /* Cs */,
-	{  0xE000,  0xF8FF} /* Co */,
-	{  0xFA2E,  0xFA2F} /* Cn */, {  0xFA6B,  0xFA6F} /* Cn */,
-	{  0xFADA,  0xFAFF} /* Cn */, {  0xFB07,  0xFB12} /* Cn */,
-	{  0xFB18,  0xFB1C} /* Cn */, {  0xFB37,  0xFB37} /* Cn */,
-	{  0xFB3D,  0xFB3D} /* Cn */, {  0xFB3F,  0xFB3F} /* Cn */,
-	{  0xFB42,  0xFB42} /* Cn */, {  0xFB45,  0xFB45} /* Cn */,
-	{  0xFBB2,  0xFBD2} /* Cn */, {  0xFD40,  0xFD4F} /* Cn */,
-	{  0xFD90,  0xFD91} /* Cn */, {  0xFDC8,  0xFDEF} /* Cn */,
-	{  0xFDFE,  0xFDFF} /* Cn */, {  0xFE1A,  0xFE1F} /* Cn */,
-	{  0xFE24,  0xFE2F} /* Cn */, {  0xFE53,  0xFE53} /* Cn */,
-	{  0xFE67,  0xFE67} /* Cn */, {  0xFE6C,  0xFE6F} /* Cn */,
-	{  0xFE75,  0xFE75} /* Cn */, {  0xFEFD,  0xFEFE} /* Cn */,
-	{  0xFEFF,  0xFEFF} /* Cf */,
-	{  0xFF00,  0xFF00} /* Cn */, {  0xFFBF,  0xFFC1} /* Cn */,
-	{  0xFFC8,  0xFFC9} /* Cn */, {  0xFFD0,  0xFFD1} /* Cn */,
-	{  0xFFD8,  0xFFD9} /* Cn */, {  0xFFDD,  0xFFDF} /* Cn */,
-	{  0xFFE7,  0xFFE7} /* Cn */, {  0xFFEF,  0xFFF8} /* Cn */,
-	{  0xFFF9,  0xFFFB} /* Cf */,
-	{  0xFFFE,  0xFFFF} /* Cn */, { 0x1000C, 0x1000C} /* Cn */,
-	{ 0x10027, 0x10027} /* Cn */, { 0x1003B, 0x1003B} /* Cn */,
-	{ 0x1003E, 0x1003E} /* Cn */, { 0x1004E, 0x1004F} /* Cn */,
-	{ 0x1005E, 0x1007F} /* Cn */, { 0x100FB, 0x100FF} /* Cn */,
-	{ 0x10103, 0x10106} /* Cn */, { 0x10134, 0x10136} /* Cn */,
-	{ 0x1018B, 0x102FF} /* Cn */, { 0x1031F, 0x1031F} /* Cn */,
-	{ 0x10324, 0x1032F} /* Cn */, { 0x1034B, 0x1037F} /* Cn */,
-	{ 0x1039E, 0x1039E} /* Cn */, { 0x103C4, 0x103C7} /* Cn */,
-	{ 0x103D6, 0x103FF} /* Cn */,
-	{ 0x1049E, 0x1049F} /* Cn */, { 0x104AA, 0x107FF} /* Cn */,
-	{ 0x10806, 0x10807} /* Cn */, { 0x10809, 0x10809} /* Cn */,
-	{ 0x10836, 0x10836} /* Cn */, { 0x10839, 0x1083B} /* Cn */,
-	{ 0x1083D, 0x1083E} /* Cn */, { 0x10840, 0x108FF} /* Cn */,
-	{ 0x1091A, 0x1091E} /* Cn */, { 0x10920, 0x109FF} /* Cn */,
-	{ 0x10A04, 0x10A04} /* Cn */, { 0x10A07, 0x10A0B} /* Cn */,
-	{ 0x10A14, 0x10A14} /* Cn */, { 0x10A18, 0x10A18} /* Cn */,
-	{ 0x10A34, 0x10A37} /* Cn */, { 0x10A3B, 0x10A3E} /* Cn */,
-	{ 0x10A48, 0x10A4F} /* Cn */, { 0x10A59, 0x11FFF} /* Cn */,
-	{ 0x1236F, 0x123FF} /* Cn */, { 0x12463, 0x1246F} /* Cn */,
-	{ 0x12474, 0x1CFFF} /* Cn */, { 0x1D0F6, 0x1D0FF} /* Cn */,
-	{ 0x1D127, 0x1D129} /* Cn */,
-	{ 0x1D173, 0x1D17A} /* Cf */,
-	{ 0x1D1DE, 0x1D1FF} /* Cn */, { 0x1D246, 0x1D2FF} /* Cn */,
-	{ 0x1D357, 0x1D35F} /* Cn */, { 0x1D372, 0x1D3FF} /* Cn */,
-	{ 0x1D455, 0x1D455} /* Cn */, { 0x1D49D, 0x1D49D} /* Cn */,
-	{ 0x1D4A0, 0x1D4A1} /* Cn */, { 0x1D4A3, 0x1D4A4} /* Cn */,
-	{ 0x1D4A7, 0x1D4A8} /* Cn */, { 0x1D4AD, 0x1D4AD} /* Cn */,
-	{ 0x1D4BA, 0x1D4BA} /* Cn */, { 0x1D4BC, 0x1D4BC} /* Cn */,
-	{ 0x1D4C4, 0x1D4C4} /* Cn */, { 0x1D506, 0x1D506} /* Cn */,
-	{ 0x1D50B, 0x1D50C} /* Cn */, { 0x1D515, 0x1D515} /* Cn */,
-	{ 0x1D51D, 0x1D51D} /* Cn */, { 0x1D53A, 0x1D53A} /* Cn */,
-	{ 0x1D53F, 0x1D53F} /* Cn */, { 0x1D545, 0x1D545} /* Cn */,
-	{ 0x1D547, 0x1D549} /* Cn */, { 0x1D551, 0x1D551} /* Cn */,
-	{ 0x1D6A6, 0x1D6A7} /* Cn */, { 0x1D7CC, 0x1D7CD} /* Cn */,
-	{ 0x1D800, 0x1FFFF} /* Cn */, { 0x2A6D7, 0x2F7FF} /* Cn */,
-	{ 0x2FA1E, 0xE0000} /* Cn */,
-	{ 0xE0001, 0xE0001} /* Cf */,
-	{ 0xE0002, 0xE001F} /* Cn */,
-	{ 0xE0020, 0xE007F} /* Cf */,
-	{ 0xE0080, 0xE00FF} /* Cn */, { 0xE01F0, 0xEFFFF} /* Cn */,
-	{ 0xF0000, 0xFFFFD} /* Co */,
-	{ 0xFFFFE, 0xFFFFF} /* Cn */,
-	{0x100000,0x10FFFD} /* Co */,
-	{0x10FFFE,0x10FFFF} /* Cn */,
-	{0x110000,0x7FFFFFFF} /* ISO 10646?? */
-};
-
-/*
- * Double width characters
- *	W: East Asian Wide
- *	F: East Asian Full-width
- * Unassigned code points may be included when they allow ranges to be merged.
- * Last synched with
- *	<http://www.unicode.org/Public/5.0.0/ucd/EastAsianWidth-5.0.0d2.txt>;
- *	dated 2005-11-08T01:32:56Z
- */
-static struct wchar_range wide_table[] = {
-	{  0x1100,  0x115F} /* W */, {  0x2329,  0x232A} /* W */,
-	{  0x2E80,  0x2FFB} /* W */,
-	{  0x3000,  0x3000} /* F */,
-	{  0x3001,  0x303E} /* W */, {  0x3041,  0x4DB5} /* W */,
-	{  0x4E00,  0x9FBB} /* W */, {  0xA000,  0xA4C6} /* W */,
-	{  0xAC00,  0xD7A3} /* W */, {  0xF900,  0xFAD9} /* W */,
-	{  0xFE10,  0xFE19} /* W */, {  0xFE30,  0xFE6B} /* W */,
-	{  0xFF01,  0xFF60} /* F */, {  0xFFE0,  0xFFE6} /* F */,
-	{ 0x20000, 0x2FFFD} /* W */, { 0x30000, 0x3FFFD} /* W */,
-};
 
 	static int
-is_in_table(ch, table, tsize)
+is_in_table(ch, table)
 	LWCHAR ch;
-	struct wchar_range table[];
-	int tsize;
+	struct wchar_range_table *table;
 {
 	int hi;
 	int lo;
 
 	/* Binary search in the table. */
-	if (ch < table[0].first)
+	if (ch < table->table[0].first)
 		return 0;
 	lo = 0;
-	hi = tsize - 1;
+	hi = table->count - 1;
 	while (lo <= hi)
 	{
 		int mid = (lo + hi) / 2;
-		if (ch > table[mid].last)
+		if (ch > table->table[mid].last)
 			lo = mid + 1;
-		else if (ch < table[mid].first)
+		else if (ch < table->table[mid].first)
 			hi = mid - 1;
 		else
 			return 1;
@@ -1126,7 +777,7 @@ is_in_table(ch, table, tsize)
 is_composing_char(ch)
 	LWCHAR ch;
 {
-	return is_in_table(ch, comp_table, (sizeof(comp_table) / sizeof(*comp_table)));
+	return is_in_table(ch, &compose_table);
 }
 
 /*
@@ -1136,7 +787,7 @@ is_composing_char(ch)
 is_ubin_char(ch)
 	LWCHAR ch;
 {
-	return is_in_table(ch, ubin_table, (sizeof(ubin_table) / sizeof(*ubin_table)));
+	return is_in_table(ch, &ubin_table);
 }
 
 /*
@@ -1146,7 +797,7 @@ is_ubin_char(ch)
 is_wide_char(ch)
 	LWCHAR ch;
 {
-	return is_in_table(ch, wide_table, (sizeof(wide_table) / sizeof(*wide_table)));
+	return is_in_table(ch, &wide_table);
 }
 
 /*

Modified: user/ngie/stable-10-libnv/contrib/less/charset.h
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/charset.h	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/charset.h	Thu Jan 21 17:09:38 2016	(r294513)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1984-2012  Mark Nudelman
+ * Copyright (C) 1984-2015  Mark Nudelman
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Less License, as specified in the README file.

Modified: user/ngie/stable-10-libnv/contrib/less/cmd.h
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/cmd.h	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/cmd.h	Thu Jan 21 17:09:38 2016	(r294513)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1984-2012  Mark Nudelman
+ * Copyright (C) 1984-2015  Mark Nudelman
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Less License, as specified in the README file.
@@ -66,6 +66,7 @@
 #define	A_PREV_TAG		54
 #define	A_FILTER		55
 #define	A_F_UNTIL_HILITE	56
+#define	A_GOEND_BUF		57
 
 #define	A_INVALID		100
 #define	A_NOACTION		101

Modified: user/ngie/stable-10-libnv/contrib/less/cmdbuf.c
==============================================================================
--- user/ngie/stable-10-libnv/contrib/less/cmdbuf.c	Thu Jan 21 16:50:16 2016	(r294512)
+++ user/ngie/stable-10-libnv/contrib/less/cmdbuf.c	Thu Jan 21 17:09:38 2016	(r294513)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 1984-2012  Mark Nudelman
+ * Copyright (C) 1984-2015  Mark Nudelman
  *
  * You may distribute under the terms of either the GNU General Public
  * License or the Less License, as specified in the README file.
@@ -203,7 +203,7 @@ cmd_step_common(p, ch, len, pwidth, bswi
 		pr = prchar((int) ch);
 		if (pwidth != NULL || bswidth != NULL)
 		{
-			int len = strlen(pr);
+			int len = (int) strlen(pr);
 			if (pwidth != NULL)
 				*pwidth = len;
 			if (bswidth != NULL)
@@ -222,7 +222,7 @@ cmd_step_common(p, ch, len, pwidth, bswi
 					*bswidth = 0;
 			} else if (is_ubin_char(ch))
 			{
-				int len = strlen(pr);
+				int len = (int) strlen(pr);
 				if (pwidth != NULL)
 					*pwidth = len;
 				if (bswidth != NULL)
@@ -375,7 +375,7 @@ cmd_lshift()
 		s = ns;
 	}
 
-	cmd_offset = s - cmdbuf;
+	cmd_offset = (int) (s - cmdbuf);
 	save_cp = cp;
 	cmd_home();
 	cmd_repaint(save_cp);
@@ -405,7 +405,7 @@ cmd_rshift()
 		cols += width;
 	}
 
-	cmd_offset = s - cmdbuf;
+	cmd_offset = (int) (s - cmdbuf);
 	save_cp = cp;
 	cmd_home();
 	cmd_repaint(save_cp);
@@ -535,7 +535,7 @@ cmd_erase()
 	 */
 	s = cp;
 	cmd_left();
-	clen = s - cp;
+	clen = (int) (s - cp);
 
 	/*
 	 * Remove the char from the buffer (shift the buffer left).
@@ -701,7 +701,7 @@ cmd_updown(action)
 
 	if (updown_match < 0)
 	{
-		updown_match = cp - cmdbuf;
+		updown_match = (int) (cp - cmdbuf);
 	}
 
 	/*
@@ -744,12 +744,13 @@ cmd_updown(action)
 #endif
 
 /*
- * Add a string to a history list.
+ * Add a string to an mlist.
  */
 	public void
-cmd_addhist(mlist, cmd)
+cmd_addhist(mlist, cmd, modified)
 	struct mlist *mlist;
 	char *cmd;
+	int modified;
 {
 #if CMD_HISTORY
 	struct mlist *ml;
@@ -773,6 +774,7 @@ cmd_addhist(mlist, cmd)
 		 */
 		ml = (struct mlist *) ecalloc(1, sizeof(struct mlist));
 		ml->string = save(cmd);
+		ml->modified = modified;
 		ml->next = mlist;
 		ml->prev = mlist->prev;
 		mlist->prev->next = ml;
@@ -799,7 +801,7 @@ cmd_accept()
 	 */
 	if (curr_mlist == NULL)
 		return;
-	cmd_addhist(curr_mlist, cmdbuf);
+	cmd_addhist(curr_mlist, cmdbuf, 1);
 	curr_mlist->modified = 1;
 #endif
 }
@@ -965,7 +967,7 @@ delimit_word()
 	int delim_quoted = 0;
 	int meta_quoted = 0;
 	char *esc = get_meta_escape();
-	int esclen = strlen(esc);
+	int esclen = (int) strlen(esc);
 #endif
 	
 	/*
@@ -1262,7 +1264,7 @@ cmd_char(c)
 			cmd_mbc_buf[cmd_mbc_buf_index++] = c;
 			if (cmd_mbc_buf_index < cmd_mbc_buf_len)
 				return (CC_OK);
-			if (!is_utf8_well_formed(cmd_mbc_buf))
+			if (!is_utf8_well_formed(cmd_mbc_buf, cmd_mbc_buf_index))
 			{
 				/* complete, but not well formed (non-shortest form), sequence */
 				cmd_mbc_buf_len = 0;
@@ -1359,6 +1361,18 @@ cmd_lastpattern()
 
 #if CMD_HISTORY
 /*
+ */
+	static int
+mlist_size(ml)
+	struct mlist *ml;
+{
+	int size = 0;
+	for (ml = ml->next;  ml->string != NULL;  ml = ml->next)
+		++size;
+	return size;
+}
+
+/*
  * Get the name of the history file.
  */
 	static char *
@@ -1378,6 +1392,10 @@ histfile_name()
 		return (save(name));
 	}
 
+	/* See if history file is disabled in the build. */
+	if (strcmp(LESSHISTFILE, "") == 0 || strcmp(LESSHISTFILE, "-") == 0)
+		return (NULL);
+
 	/* Otherwise, file is in $HOME. */
 	home = lgetenv("HOME");
 	if (home == NULL || *home == '\0')
@@ -1388,25 +1406,28 @@ histfile_name()
 #endif
 			return (NULL);
 	}
-	len = strlen(home) + strlen(LESSHISTFILE) + 2;
+	len = (int) (strlen(home) + strlen(LESSHISTFILE) + 2);
 	name = (char *) ecalloc(len, sizeof(char));
 	SNPRINTF2(name, len, "%s/%s", home, LESSHISTFILE);
 	return (name);
 }
-#endif /* CMD_HISTORY */
 
 /*
- * Initialize history from a .lesshist file.
+ * Read a .lesshst file and call a callback for each line in the file.
  */
-	public void
-init_cmdhist()
+	static void
+read_cmdhist2(action, uparam, skip_search, skip_shell)
+	void (*action)(void*,struct mlist*,char*);
+	void *uparam;
+	int skip_search;
+	int skip_shell;
 {
-#if CMD_HISTORY
 	struct mlist *ml = NULL;
 	char line[CMDBUF_SIZE];
 	char *filename;
 	FILE *f;
 	char *p;
+	int *skip = NULL;
 
 	filename = histfile_name();
 	if (filename == NULL)
@@ -1432,84 +1453,170 @@ init_cmdhist()
 			}
 		}
 		if (strcmp(line, HISTFILE_SEARCH_SECTION) == 0)
+		{
 			ml = &mlist_search;
-		else if (strcmp(line, HISTFILE_SHELL_SECTION) == 0)
+			skip = &skip_search;
+		} else if (strcmp(line, HISTFILE_SHELL_SECTION) == 0)
 		{
 #if SHELL_ESCAPE || PIPEC
 			ml = &mlist_shell;
+			skip = &skip_shell;
 #else
 			ml = NULL;
+			skip = NULL;
 #endif
 		} else if (*line == '"')
 		{
 			if (ml != NULL)
-				cmd_addhist(ml, line+1);
+			{
+				if (skip != NULL && *skip > 0)
+					--(*skip);
+				else
+					(*action)(uparam, ml, line+1);
+			}
 		}
 	}
 	fclose(f);
+}
+
+	static void
+read_cmdhist(action, uparam, skip_search, skip_shell)
+	void (*action)(void*,struct mlist*,char*);
+	void *uparam;
+	int skip_search;
+	int skip_shell;
+{
+	read_cmdhist2(action, uparam, skip_search, skip_shell);
+	(*action)(uparam, NULL, NULL); /* signal end of file */
+}
+
+	static void
+addhist_init(void *uparam, struct mlist *ml, char *string)
+{
+	if (ml == NULL || string == NULL)
+		return;
+	cmd_addhist(ml, string, 0);
+}
+#endif /* CMD_HISTORY */
+
+/*
+ * Initialize history from a .lesshist file.
+ */
+	public void
+init_cmdhist()

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20160121210556.H1101>