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 " user" 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>