svn commit: r298092 - in projects/release-pkg: . bin/csh bin/sh cddl/lib/libdtrace contrib/elftoolchain/elfcopy contrib/ipfilter contrib/libpcap contrib/libxo contrib/libxo/doc contrib/libxo/encode...
Glen Barber
gjb at FreeBSD.org
Sat Apr 16 02:32:16 UTC 2016
Author: gjb
Date: Sat Apr 16 02:32:12 2016
New Revision: 298092
URL: https://svnweb.freebsd.org/changeset/base/298092
Log:
MFH
Sponsored by: The FreeBSD Foundation
Added:
projects/release-pkg/contrib/libxo/libxo/xo_emit_f.3
- copied unchanged from r298091, head/contrib/libxo/libxo/xo_emit_f.3
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.E.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.E.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.E.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.E.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.H.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.H.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.H.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.H.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.HIPx.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.HIPx.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.HIPx.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.HIPx.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.HP.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.HP.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.HP.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.HP.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.J.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.J.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.J.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.J.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.JP.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.JP.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.JP.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.JP.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.T.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.T.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.T.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.T.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.X.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.X.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.X.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.X.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.XP.err
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.XP.err
projects/release-pkg/contrib/libxo/tests/core/saved/test_12.XP.out
- copied unchanged from r298091, head/contrib/libxo/tests/core/saved/test_12.XP.out
projects/release-pkg/contrib/libxo/tests/core/test_12.c
- copied unchanged from r298091, head/contrib/libxo/tests/core/test_12.c
projects/release-pkg/lib/libpam/static_libpam/
- copied from r298091, head/lib/libpam/static_libpam/
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-mt7620a.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-mt7620a.dtsi
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-mt7620n.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-mt7620n.dtsi
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-mt7621.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-mt7621.dtsi
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-mt7628an.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-mt7628an.dtsi
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt2880.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt2880.dtsi
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt3050.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt3050.dtsi
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt3352.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt3352.dtsi
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt3883.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt3883.dtsi
projects/release-pkg/sys/boot/fdt/dts/mips/fbsd-rt5350.dtsi
- copied unchanged from r298091, head/sys/boot/fdt/dts/mips/fbsd-rt5350.dtsi
projects/release-pkg/sys/cam/cam_iosched.c
- copied unchanged from r298091, head/sys/cam/cam_iosched.c
projects/release-pkg/sys/cam/cam_iosched.h
- copied unchanged from r298091, head/sys/cam/cam_iosched.h
projects/release-pkg/sys/dev/hyperv/vmbus/amd64/
- copied from r298091, head/sys/dev/hyperv/vmbus/amd64/
projects/release-pkg/sys/dev/hyperv/vmbus/i386/
- copied from r298091, head/sys/dev/hyperv/vmbus/i386/
projects/release-pkg/sys/mips/conf/MEDIATEK
- copied unchanged from r298091, head/sys/mips/conf/MEDIATEK
projects/release-pkg/sys/mips/conf/MEDIATEK_BASE
- copied unchanged from r298091, head/sys/mips/conf/MEDIATEK_BASE
projects/release-pkg/sys/mips/conf/MT7620A_FDT
- copied unchanged from r298091, head/sys/mips/conf/MT7620A_FDT
projects/release-pkg/sys/mips/conf/MT7620N_FDT
- copied unchanged from r298091, head/sys/mips/conf/MT7620N_FDT
projects/release-pkg/sys/mips/conf/MT7621_FDT
- copied unchanged from r298091, head/sys/mips/conf/MT7621_FDT
projects/release-pkg/sys/mips/conf/MT7628_FDT
- copied unchanged from r298091, head/sys/mips/conf/MT7628_FDT
projects/release-pkg/sys/mips/conf/RT3050_FDT
- copied unchanged from r298091, head/sys/mips/conf/RT3050_FDT
projects/release-pkg/sys/mips/conf/RT3352_FDT
- copied unchanged from r298091, head/sys/mips/conf/RT3352_FDT
projects/release-pkg/sys/mips/conf/RT3883_FDT
- copied unchanged from r298091, head/sys/mips/conf/RT3883_FDT
projects/release-pkg/sys/mips/conf/RT5350_FDT
- copied unchanged from r298091, head/sys/mips/conf/RT5350_FDT
projects/release-pkg/sys/netpfil/ipfw/ip_fw_eaction.c
- copied unchanged from r298091, head/sys/netpfil/ipfw/ip_fw_eaction.c
Deleted:
projects/release-pkg/contrib/libxo/libxo/xo_config.h.in
projects/release-pkg/lib/libpam/static_modules/
Modified:
projects/release-pkg/Makefile
projects/release-pkg/Makefile.inc1
projects/release-pkg/Makefile.libcompat
projects/release-pkg/ObsoleteFiles.inc
projects/release-pkg/UPDATING
projects/release-pkg/bin/csh/Makefile
projects/release-pkg/bin/sh/Makefile
projects/release-pkg/bin/sh/parser.c
projects/release-pkg/cddl/lib/libdtrace/tcp.d
projects/release-pkg/contrib/elftoolchain/elfcopy/sections.c
projects/release-pkg/contrib/ipfilter/bpf_filter.c
projects/release-pkg/contrib/ipfilter/mli_ipl.c (contents, props changed)
projects/release-pkg/contrib/libpcap/pcap-snf.c
projects/release-pkg/contrib/libxo/Makefile.am
projects/release-pkg/contrib/libxo/configure.ac
projects/release-pkg/contrib/libxo/doc/libxo-manual.html
projects/release-pkg/contrib/libxo/doc/libxo.txt
projects/release-pkg/contrib/libxo/encoder/cbor/enc_cbor.c
projects/release-pkg/contrib/libxo/libxo-config.in
projects/release-pkg/contrib/libxo/libxo/libxo.c
projects/release-pkg/contrib/libxo/libxo/xo.h
projects/release-pkg/contrib/libxo/libxo/xo_format.5
projects/release-pkg/contrib/libxo/libxo/xo_parse_args.3
projects/release-pkg/contrib/libxo/packaging/libxo.pc.in
projects/release-pkg/contrib/libxo/packaging/libxo.rb.base.in
projects/release-pkg/contrib/libxo/tests/core/Makefile.am
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.E.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.H.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.HIPx.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.HP.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.J.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.JP.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.T.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.X.out
projects/release-pkg/contrib/libxo/tests/core/saved/test_01.XP.out
projects/release-pkg/contrib/libxo/tests/core/test_01.c
projects/release-pkg/contrib/libxo/tests/core/test_02.c
projects/release-pkg/contrib/libxo/tests/gettext/gt_01.c
projects/release-pkg/include/Makefile
projects/release-pkg/lib/libc/aarch64/sys/brk.S
projects/release-pkg/lib/libc/aarch64/sys/cerror.S
projects/release-pkg/lib/libc/aarch64/sys/sbrk.S
projects/release-pkg/lib/libcam/camlib.c
projects/release-pkg/lib/libcam/camlib.h
projects/release-pkg/lib/libcasper/services/cap_dns/cap_dns.c
projects/release-pkg/lib/libgssapi/gss_add_cred.c
projects/release-pkg/lib/libgssapi/gss_encapsulate_token.c
projects/release-pkg/lib/libgssapi/gss_get_mic.c
projects/release-pkg/lib/libgssapi/gss_inquire_context.c
projects/release-pkg/lib/libgssapi/gss_mech_switch.c
projects/release-pkg/lib/libgssapi/gss_pseudo_random.c
projects/release-pkg/lib/libgssapi/gss_verify_mic.c
projects/release-pkg/lib/libgssapi/gss_wrap.c
projects/release-pkg/lib/libgssapi/gss_wrap_size_limit.c
projects/release-pkg/lib/libmagic/Makefile
projects/release-pkg/lib/libpam/Makefile
projects/release-pkg/lib/libpam/libpam/Makefile
projects/release-pkg/lib/libpam/modules/Makefile
projects/release-pkg/lib/libpam/modules/Makefile.inc
projects/release-pkg/lib/libthr/arch/riscv/include/pthread_md.h
projects/release-pkg/lib/libxo/add.man
projects/release-pkg/lib/libxo/xo_config.h
projects/release-pkg/lib/libypclnt/ypclnt_passwd.c
projects/release-pkg/lib/msun/tests/Makefile
projects/release-pkg/lib/ncurses/ncurses/Makefile
projects/release-pkg/release/Makefile
projects/release-pkg/sbin/devd/devd.conf.5
projects/release-pkg/sbin/dump/optr.c
projects/release-pkg/sbin/fsck_ffs/globs.c
projects/release-pkg/sbin/ifconfig/sfp.c
projects/release-pkg/sbin/ipfw/ipfw2.c
projects/release-pkg/sbin/ipfw/ipfw2.h
projects/release-pkg/sbin/ipfw/ipv6.c
projects/release-pkg/sbin/ipfw/tables.c
projects/release-pkg/sbin/mount_nfs/mount_nfs.c
projects/release-pkg/sbin/pfctl/parse.y
projects/release-pkg/sbin/reboot/nextboot.8
projects/release-pkg/sbin/reboot/nextboot.sh
projects/release-pkg/sbin/savecore/savecore.c
projects/release-pkg/share/examples/Makefile
projects/release-pkg/share/man/man4/dtrace_tcp.4
projects/release-pkg/share/man/man5/src.conf.5
projects/release-pkg/share/man/man7/build.7
projects/release-pkg/share/mk/bsd.README
projects/release-pkg/share/mk/bsd.dep.mk
projects/release-pkg/share/mk/bsd.lib.mk
projects/release-pkg/share/mk/bsd.progs.mk
projects/release-pkg/share/mk/bsd.sys.mk
projects/release-pkg/share/mk/local.sys.mk
projects/release-pkg/share/sendmail/Makefile
projects/release-pkg/share/syscons/scrnmaps/Makefile
projects/release-pkg/share/zoneinfo/Makefile
projects/release-pkg/sys/amd64/amd64/apic_vector.S
projects/release-pkg/sys/amd64/amd64/exception.S
projects/release-pkg/sys/amd64/amd64/minidump_machdep.c
projects/release-pkg/sys/amd64/conf/GENERIC
projects/release-pkg/sys/amd64/conf/NOTES
projects/release-pkg/sys/arm/allwinner/a10_common.c
projects/release-pkg/sys/arm/altera/socfpga/socfpga_common.c
projects/release-pkg/sys/arm/amlogic/aml8726/aml8726_machdep.c
projects/release-pkg/sys/arm/annapurna/alpine/common.c
projects/release-pkg/sys/arm/arm/gic.c
projects/release-pkg/sys/arm/arm/machdep_intr.c
projects/release-pkg/sys/arm/arm/mp_machdep.c
projects/release-pkg/sys/arm/arm/nexus.c
projects/release-pkg/sys/arm/arm/pmap-v4.c
projects/release-pkg/sys/arm/arm/pmap-v6.c
projects/release-pkg/sys/arm/at91/at91_common.c
projects/release-pkg/sys/arm/at91/at91_mci.c
projects/release-pkg/sys/arm/at91/at91_pio.c
projects/release-pkg/sys/arm/at91/at91_pmc.c
projects/release-pkg/sys/arm/at91/at91_rtc.c
projects/release-pkg/sys/arm/at91/at91_ssc.c
projects/release-pkg/sys/arm/at91/at91_twi.c
projects/release-pkg/sys/arm/at91/if_ate.c
projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_common.c
projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_gpio.c
projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2835_intr.c
projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2836.c
projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2836.h
projects/release-pkg/sys/arm/broadcom/bcm2835/bcm2836_mp.c
projects/release-pkg/sys/arm/cavium/cns11xx/if_ece.c
projects/release-pkg/sys/arm/conf/A20
projects/release-pkg/sys/arm/conf/ALPINE
projects/release-pkg/sys/arm/conf/ARMADA38X
projects/release-pkg/sys/arm/conf/BEAGLEBONE
projects/release-pkg/sys/arm/conf/EXYNOS5.common
projects/release-pkg/sys/arm/conf/IMX6
projects/release-pkg/sys/arm/conf/ODROIDC1
projects/release-pkg/sys/arm/conf/PANDABOARD
projects/release-pkg/sys/arm/conf/RK3188
projects/release-pkg/sys/arm/conf/RPI-B
projects/release-pkg/sys/arm/conf/RPI2
projects/release-pkg/sys/arm/conf/SOCKIT.common
projects/release-pkg/sys/arm/conf/VIRT
projects/release-pkg/sys/arm/conf/VSATV102
projects/release-pkg/sys/arm/conf/VYBRID
projects/release-pkg/sys/arm/conf/ZEDBOARD
projects/release-pkg/sys/arm/freescale/imx/imx6_machdep.c
projects/release-pkg/sys/arm/freescale/imx/imx_common.c
projects/release-pkg/sys/arm/freescale/imx/imx_gpio.c
projects/release-pkg/sys/arm/freescale/vybrid/vf_common.c
projects/release-pkg/sys/arm/include/intr.h
projects/release-pkg/sys/arm/include/smp.h
projects/release-pkg/sys/arm/lpc/lpc_intc.c
projects/release-pkg/sys/arm/mv/mpic.c
projects/release-pkg/sys/arm/mv/mv_common.c
projects/release-pkg/sys/arm/nvidia/tegra124/std.tegra124
projects/release-pkg/sys/arm/qemu/virt_common.c
projects/release-pkg/sys/arm/rockchip/rk30xx_common.c
projects/release-pkg/sys/arm/samsung/exynos/exynos5_common.c
projects/release-pkg/sys/arm/ti/aintc.c
projects/release-pkg/sys/arm/ti/omap4/omap4_prcm_clks.c
projects/release-pkg/sys/arm/ti/ti_common.c
projects/release-pkg/sys/arm/ti/ti_gpio.c
projects/release-pkg/sys/arm/ti/ti_gpio.h
projects/release-pkg/sys/arm/versatile/versatile_common.c
projects/release-pkg/sys/arm/xilinx/zy7_machdep.c
projects/release-pkg/sys/arm/xscale/ixp425/ixp425_qmgr.c
projects/release-pkg/sys/arm64/arm64/gic_fdt.c
projects/release-pkg/sys/arm64/arm64/gic_v3_its.c
projects/release-pkg/sys/arm64/arm64/nexus.c
projects/release-pkg/sys/arm64/arm64/pmap.c
projects/release-pkg/sys/arm64/include/vmparam.h
projects/release-pkg/sys/boot/efi/loader/arch/amd64/elf64_freebsd.c
projects/release-pkg/sys/boot/i386/libi386/biosacpi.c
projects/release-pkg/sys/cam/ata/ata_all.c
projects/release-pkg/sys/cam/ata/ata_all.h
projects/release-pkg/sys/cam/ata/ata_da.c
projects/release-pkg/sys/cam/cam.c
projects/release-pkg/sys/cam/cam_ccb.h
projects/release-pkg/sys/cam/cam_periph.c
projects/release-pkg/sys/cam/cam_xpt.c
projects/release-pkg/sys/cam/scsi/scsi_da.c
projects/release-pkg/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c
projects/release-pkg/sys/compat/linux/linux_ioctl.c
projects/release-pkg/sys/conf/NOTES
projects/release-pkg/sys/conf/files
projects/release-pkg/sys/conf/files.amd64
projects/release-pkg/sys/conf/files.arm
projects/release-pkg/sys/conf/files.i386
projects/release-pkg/sys/conf/kern.post.mk
projects/release-pkg/sys/conf/options
projects/release-pkg/sys/conf/options.amd64
projects/release-pkg/sys/conf/options.arm
projects/release-pkg/sys/conf/options.i386
projects/release-pkg/sys/conf/options.mips
projects/release-pkg/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c (contents, props changed)
projects/release-pkg/sys/contrib/rdma/krping/krping.c
projects/release-pkg/sys/contrib/rdma/krping/krping.h
projects/release-pkg/sys/contrib/rdma/krping/krping_dev.c
projects/release-pkg/sys/ddb/db_command.c
projects/release-pkg/sys/ddb/db_ps.c
projects/release-pkg/sys/ddb/db_sym.c
projects/release-pkg/sys/dev/acpica/acpi_pci.c
projects/release-pkg/sys/dev/ahci/ahci.c
projects/release-pkg/sys/dev/cardbus/cardbus.c
projects/release-pkg/sys/dev/fdt/fdt_common.h
projects/release-pkg/sys/dev/fdt/fdt_powerpc.c
projects/release-pkg/sys/dev/flash/mx25l.c
projects/release-pkg/sys/dev/hyperv/netvsc/hv_netvsc_drv_freebsd.c
projects/release-pkg/sys/dev/hyperv/storvsc/hv_storvsc_drv_freebsd.c
projects/release-pkg/sys/dev/hyperv/vmbus/hv_channel_mgmt.c
projects/release-pkg/sys/dev/hyperv/vmbus/hv_vmbus_drv_freebsd.c
projects/release-pkg/sys/dev/isp/isp.c
projects/release-pkg/sys/dev/isp/isp_library.c
projects/release-pkg/sys/dev/isp/ispvar.h
projects/release-pkg/sys/dev/pci/pci.c
projects/release-pkg/sys/dev/pci/pci_if.m
projects/release-pkg/sys/dev/pci/pci_iov.c
projects/release-pkg/sys/dev/pci/pci_private.h
projects/release-pkg/sys/dev/pci/pcivar.h
projects/release-pkg/sys/dev/rt/if_rt.c
projects/release-pkg/sys/dev/wbwd/wbwd.c
projects/release-pkg/sys/fs/cd9660/cd9660_vfsops.c
projects/release-pkg/sys/fs/msdosfs/msdosfs_conv.c
projects/release-pkg/sys/fs/msdosfs/msdosfs_fat.c
projects/release-pkg/sys/fs/msdosfs/msdosfs_lookup.c
projects/release-pkg/sys/geom/gate/g_gate.c
projects/release-pkg/sys/geom/geom_io.c
projects/release-pkg/sys/geom/geom_subr.c
projects/release-pkg/sys/geom/mirror/g_mirror.c
projects/release-pkg/sys/geom/raid3/g_raid3.c
projects/release-pkg/sys/i386/conf/GENERIC
projects/release-pkg/sys/i386/i386/apic_vector.s
projects/release-pkg/sys/i386/i386/db_disasm.c
projects/release-pkg/sys/i386/i386/exception.s
projects/release-pkg/sys/i386/i386/pmap.c
projects/release-pkg/sys/i386/ibcs2/imgact_coff.c
projects/release-pkg/sys/isa/pnp.c
projects/release-pkg/sys/kern/kern_dump.c
projects/release-pkg/sys/kern/kern_environment.c
projects/release-pkg/sys/kern/kern_kthread.c
projects/release-pkg/sys/kern/kern_proc.c
projects/release-pkg/sys/kern/kern_racct.c
projects/release-pkg/sys/kern/kern_rctl.c
projects/release-pkg/sys/kern/kern_shutdown.c
projects/release-pkg/sys/kern/kern_sysctl.c
projects/release-pkg/sys/kern/link_elf.c
projects/release-pkg/sys/kern/link_elf_obj.c
projects/release-pkg/sys/kern/sysv_sem.c
projects/release-pkg/sys/kern/uipc_mbuf.c
projects/release-pkg/sys/kern/uipc_mqueue.c
projects/release-pkg/sys/kern/uipc_sem.c
projects/release-pkg/sys/kern/uipc_shm.c
projects/release-pkg/sys/kern/uipc_sockbuf.c
projects/release-pkg/sys/kern/uipc_syscalls.c
projects/release-pkg/sys/kern/vfs_cluster.c
projects/release-pkg/sys/kern/vfs_export.c
projects/release-pkg/sys/kern/vfs_lookup.c
projects/release-pkg/sys/libkern/strtol.c
projects/release-pkg/sys/libkern/strtoq.c
projects/release-pkg/sys/libkern/strtoul.c
projects/release-pkg/sys/libkern/strtouq.c
projects/release-pkg/sys/mips/adm5120/obio.c
projects/release-pkg/sys/mips/alchemy/obio.c
projects/release-pkg/sys/mips/atheros/apb.c
projects/release-pkg/sys/mips/idt/obio.c
projects/release-pkg/sys/mips/include/intr.h
projects/release-pkg/sys/mips/include/smp.h
projects/release-pkg/sys/mips/mediatek/mtk_ehci.c
projects/release-pkg/sys/mips/mediatek/mtk_gpio_v1.c
projects/release-pkg/sys/mips/mediatek/mtk_gpio_v2.c
projects/release-pkg/sys/mips/mediatek/mtk_intr_gic.c
projects/release-pkg/sys/mips/mediatek/mtk_ohci.c
projects/release-pkg/sys/mips/mediatek/mtk_pcie.c
projects/release-pkg/sys/mips/mediatek/mtk_soc.c
projects/release-pkg/sys/mips/mediatek/mtk_usb_phy.c
projects/release-pkg/sys/mips/mediatek/mtk_xhci.c
projects/release-pkg/sys/mips/mips/exception.S
projects/release-pkg/sys/mips/mips/machdep.c
projects/release-pkg/sys/mips/mips/nexus.c
projects/release-pkg/sys/mips/mips/tick.c
projects/release-pkg/sys/mips/nlm/xlp_pci.c
projects/release-pkg/sys/mips/nlm/xlp_simplebus.c
projects/release-pkg/sys/mips/rmi/xlr_pci.c
projects/release-pkg/sys/mips/rt305x/obio.c
projects/release-pkg/sys/mips/rt305x/rt305x_gpio.c
projects/release-pkg/sys/modules/cam/Makefile
projects/release-pkg/sys/modules/hyperv/vmbus/Makefile
projects/release-pkg/sys/modules/ipfw/Makefile
projects/release-pkg/sys/net/bpf_filter.c
projects/release-pkg/sys/net/if.c
projects/release-pkg/sys/net/if_arcsubr.c
projects/release-pkg/sys/net/if_atmsubr.c
projects/release-pkg/sys/net/if_bridge.c
projects/release-pkg/sys/net/if_disc.c
projects/release-pkg/sys/net/if_ethersubr.c
projects/release-pkg/sys/net/if_fddisubr.c
projects/release-pkg/sys/net/if_fwsubr.c
projects/release-pkg/sys/net/if_iso88025subr.c
projects/release-pkg/sys/net/if_loop.c
projects/release-pkg/sys/net/if_spppsubr.c
projects/release-pkg/sys/net/radix.c
projects/release-pkg/sys/net/raw_usrreq.c
projects/release-pkg/sys/netgraph/atm/ccatm/ng_ccatm.c
projects/release-pkg/sys/netgraph/ng_socket.c
projects/release-pkg/sys/netgraph/ng_source.c
projects/release-pkg/sys/netinet/if_ether.c
projects/release-pkg/sys/netinet/igmp.c
projects/release-pkg/sys/netinet/in_mcast.c
projects/release-pkg/sys/netinet/ip_divert.c
projects/release-pkg/sys/netinet/ip_fw.h
projects/release-pkg/sys/netinet/ip_icmp.c
projects/release-pkg/sys/netinet/ip_icmp.h
projects/release-pkg/sys/netinet/ip_input.c
projects/release-pkg/sys/netinet/ip_mroute.c
projects/release-pkg/sys/netinet/ip_options.c
projects/release-pkg/sys/netinet/ip_output.c
projects/release-pkg/sys/netinet/libalias/alias_db.c
projects/release-pkg/sys/netinet/raw_ip.c
projects/release-pkg/sys/netinet/sctp_syscalls.c
projects/release-pkg/sys/netinet/sctp_usrreq.c
projects/release-pkg/sys/netinet/udp_usrreq.c
projects/release-pkg/sys/netinet6/in6.c
projects/release-pkg/sys/netinet6/ip6_output.c
projects/release-pkg/sys/netinet6/nd6_rtr.c
projects/release-pkg/sys/netinet6/raw_ip6.c
projects/release-pkg/sys/netinet6/udp6_usrreq.c
projects/release-pkg/sys/netipsec/ipsec_mbuf.c
projects/release-pkg/sys/netipsec/key.c
projects/release-pkg/sys/netipsec/keysock.c
projects/release-pkg/sys/netipsec/xform_ipcomp.c
projects/release-pkg/sys/netpfil/ipfw/ip_fw2.c
projects/release-pkg/sys/netpfil/ipfw/ip_fw_iface.c
projects/release-pkg/sys/netpfil/ipfw/ip_fw_private.h
projects/release-pkg/sys/netpfil/ipfw/ip_fw_sockopt.c
projects/release-pkg/sys/netpfil/ipfw/ip_fw_table.c
projects/release-pkg/sys/netpfil/ipfw/ip_fw_table_value.c
projects/release-pkg/sys/ofed/drivers/infiniband/hw/mlx4/main.c
projects/release-pkg/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
projects/release-pkg/sys/ofed/drivers/net/mlx4/en_netdev.c
projects/release-pkg/sys/ofed/drivers/net/mlx4/en_rx.c
projects/release-pkg/sys/ofed/drivers/net/mlx4/en_tx.c
projects/release-pkg/sys/ofed/drivers/net/mlx4/mlx4_en.h
projects/release-pkg/sys/powerpc/ofw/ofw_pcibus.c
projects/release-pkg/sys/powerpc/powerpc/db_disasm.c
projects/release-pkg/sys/powerpc/powerpc/elf32_machdep.c
projects/release-pkg/sys/powerpc/powerpc/elf64_machdep.c
projects/release-pkg/sys/powerpc/psim/iobus.c
projects/release-pkg/sys/riscv/riscv/nexus.c
projects/release-pkg/sys/rpc/svc_vc.c
projects/release-pkg/sys/sparc64/ebus/ebus.c
projects/release-pkg/sys/sparc64/pci/ofw_pcibus.c
projects/release-pkg/sys/sys/bio.h
projects/release-pkg/sys/sys/buf.h
projects/release-pkg/sys/sys/conf.h
projects/release-pkg/sys/sys/kernel.h
projects/release-pkg/sys/sys/module.h
projects/release-pkg/sys/sys/systm.h
projects/release-pkg/sys/x86/acpica/OsdEnvironment.c
projects/release-pkg/sys/x86/x86/busdma_bounce.c
projects/release-pkg/sys/x86/x86/local_apic.c
projects/release-pkg/sys/x86/x86/nexus.c
projects/release-pkg/sys/xdr/xdr_mem.c
projects/release-pkg/targets/pseudo/userland/lib/Makefile.depend
projects/release-pkg/tests/sys/aio/aio_test.c
projects/release-pkg/tests/sys/file/flock_helper.c
projects/release-pkg/tools/build/options/WITHOUT_INSTALLLIB
projects/release-pkg/tools/build/options/WITHOUT_TOOLCHAIN
projects/release-pkg/tools/build/options/WITH_DIRDEPS_BUILD
projects/release-pkg/tools/build/options/WITH_META_MODE
projects/release-pkg/tools/regression/capsicum/libcasper/dns.c
projects/release-pkg/usr.bin/awk/Makefile
projects/release-pkg/usr.bin/bsdiff/bsdiff/bsdiff.c
projects/release-pkg/usr.bin/bsdiff/bspatch/bspatch.c
projects/release-pkg/usr.bin/calendar/dates.c
projects/release-pkg/usr.bin/calendar/io.c
projects/release-pkg/usr.bin/mkcsmapper_static/Makefile
projects/release-pkg/usr.bin/mkesdb_static/Makefile
projects/release-pkg/usr.bin/rpcgen/rpc_cout.c
projects/release-pkg/usr.bin/rpcgen/rpc_main.c
projects/release-pkg/usr.bin/rpcgen/rpc_parse.c
projects/release-pkg/usr.bin/rpcgen/rpc_svcout.c
projects/release-pkg/usr.bin/rpcgen/rpc_util.c
projects/release-pkg/usr.bin/showmount/showmount.c
projects/release-pkg/usr.bin/sort/bwstring.c
projects/release-pkg/usr.bin/sort/coll.c
projects/release-pkg/usr.bin/sort/file.c
projects/release-pkg/usr.bin/truss/syscalls.c
projects/release-pkg/usr.bin/vi/catalog/Makefile
projects/release-pkg/usr.bin/xlint/lint1/func.c
projects/release-pkg/usr.bin/xstr/xstr.c
projects/release-pkg/usr.sbin/bhyve/pci_emul.h
projects/release-pkg/usr.sbin/bhyve/pci_passthru.c
projects/release-pkg/usr.sbin/ctm/ctm/ctm.1
projects/release-pkg/usr.sbin/fdformat/fdformat.c
projects/release-pkg/usr.sbin/fdread/fdread.c
projects/release-pkg/usr.sbin/fdread/fdutil.c
projects/release-pkg/usr.sbin/fmtree/excludes.c
projects/release-pkg/usr.sbin/fstyp/fstyp.c
projects/release-pkg/usr.sbin/keyserv/keyserv.c
projects/release-pkg/usr.sbin/kgmon/kgmon.c
projects/release-pkg/usr.sbin/lmcconfig/lmcconfig.c
projects/release-pkg/usr.sbin/mountd/mountd.c
projects/release-pkg/usr.sbin/nfscbd/nfscbd.c
projects/release-pkg/usr.sbin/nfsd/nfsd.c
projects/release-pkg/usr.sbin/pmcstudy/pmcstudy.c
projects/release-pkg/usr.sbin/portsnap/phttpget/phttpget.c
projects/release-pkg/usr.sbin/ppp/command.c
projects/release-pkg/usr.sbin/ppp/filter.c
projects/release-pkg/usr.sbin/ppp/radius.c
projects/release-pkg/usr.sbin/rmt/rmt.c
projects/release-pkg/usr.sbin/tzsetup/tzsetup.c
Directory Properties:
projects/release-pkg/ (props changed)
projects/release-pkg/cddl/ (props changed)
projects/release-pkg/contrib/elftoolchain/ (props changed)
projects/release-pkg/contrib/ipfilter/ (props changed)
projects/release-pkg/contrib/libpcap/ (props changed)
projects/release-pkg/contrib/libxo/ (props changed)
projects/release-pkg/include/ (props changed)
projects/release-pkg/lib/libc/ (props changed)
projects/release-pkg/sbin/ (props changed)
projects/release-pkg/sbin/ipfw/ (props changed)
projects/release-pkg/share/ (props changed)
projects/release-pkg/share/man/man4/ (props changed)
projects/release-pkg/share/zoneinfo/ (props changed)
projects/release-pkg/sys/ (props changed)
projects/release-pkg/sys/boot/ (props changed)
projects/release-pkg/sys/cddl/contrib/opensolaris/ (props changed)
projects/release-pkg/sys/conf/ (props changed)
projects/release-pkg/sys/contrib/ipfilter/ (props changed)
projects/release-pkg/sys/dev/hyperv/ (props changed)
projects/release-pkg/sys/modules/hyperv/ (props changed)
projects/release-pkg/targets/ (props changed)
projects/release-pkg/usr.bin/calendar/ (props changed)
projects/release-pkg/usr.sbin/bhyve/ (props changed)
Modified: projects/release-pkg/Makefile
==============================================================================
--- projects/release-pkg/Makefile Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/Makefile Sat Apr 16 02:32:12 2016 (r298092)
@@ -125,7 +125,7 @@ TGTS= all all-man buildenv buildenvvars
obj objlink rerelease showconfig tags toolchain update \
_worldtmp _legacy _bootstrap-tools _cleanobj _obj \
_build-tools _cross-tools _includes _libraries \
- build32 distribute32 install32 build32 distribute32 install32 \
+ build32 distribute32 install32 buildsoft distributesoft installsoft \
builddtb xdev xdev-build xdev-install \
xdev-links native-xtools stageworld stagekernel stage-packages \
create-world-packages create-kernel-packages create-packages \
@@ -408,7 +408,7 @@ MAKEFAIL=cat
universe_prologue: upgrade_checks
universe: universe_prologue
-universe_prologue:
+universe_prologue: .PHONY
@echo "--------------------------------------------------------------"
@echo ">>> make universe started on ${STARTTIME}"
@echo "--------------------------------------------------------------"
@@ -494,7 +494,7 @@ universe_kernconf_${TARGET}_${kernel}: .
"check _.${TARGET}.${kernel} for details"| ${MAKEFAIL}))
.endfor
universe: universe_epilogue
-universe_epilogue:
+universe_epilogue: .PHONY
@echo "--------------------------------------------------------------"
@echo ">>> make universe completed on `LC_ALL=C date`"
@echo " (started ${STARTTIME})"
Modified: projects/release-pkg/Makefile.inc1
==============================================================================
--- projects/release-pkg/Makefile.inc1 Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/Makefile.inc1 Sat Apr 16 02:32:12 2016 (r298092)
@@ -144,6 +144,15 @@ CLEANDIR= clean cleandepend
CLEANDIR= cleandir
.endif
+.if ${MK_META_MODE} == "yes"
+# If filemon is used then we can rely on the build being incremental-safe.
+# The .meta files will also track the build command and rebuild should
+# it change.
+.if empty(.MAKE.MODE:Mnofilemon)
+NO_CLEAN= t
+.endif
+.endif
+
LOCAL_TOOL_DIRS?=
PACKAGEDIR?= ${DESTDIR}/${DISTDIR}
@@ -316,6 +325,10 @@ CROSSENV+= MAKEOBJDIRPREFIX=${OBJTREE} \
MACHINE_ARCH=${TARGET_ARCH} \
MACHINE=${TARGET} \
CPUTYPE=${TARGET_CPUTYPE}
+.if ${MK_META_MODE} != "no"
+# Don't rebuild build-tools targets during normal build.
+CROSSENV+= BUILD_TOOLS_META=.NOMETA_CMP
+.endif
.if ${MK_GROFF} != "no"
CROSSENV+= GROFF_BIN_PATH=${WORLDTMP}/legacy/usr/bin \
GROFF_FONT_PATH=${WORLDTMP}/legacy/usr/share/groff_font \
@@ -327,6 +340,7 @@ CROSSENV+= ${TARGET_CFLAGS}
# bootstrap-tools stage
BMAKEENV= INSTALL="sh ${.CURDIR}/tools/install.sh" \
+ TOOLS_PREFIX=${WORLDTMP} \
PATH=${BPATH}:${PATH} \
WORLDTMP=${WORLDTMP} \
MAKEFLAGS="-m ${.CURDIR}/tools/build/mk ${.MAKEFLAGS}"
@@ -672,12 +686,12 @@ WMAKE_TGTS+= build${libcompat}
buildworld: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
.ORDER: buildworld_prologue ${WMAKE_TGTS} buildworld_epilogue
-buildworld_prologue:
+buildworld_prologue: .PHONY
@echo "--------------------------------------------------------------"
@echo ">>> World build started on `LC_ALL=C date`"
@echo "--------------------------------------------------------------"
-buildworld_epilogue:
+buildworld_epilogue: .PHONY
@echo
@echo "--------------------------------------------------------------"
@echo ">>> World build completed on `LC_ALL=C date`"
@@ -1897,7 +1911,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1
lib/libkiconv lib/libkvm lib/liblzma lib/libmd lib/libnv \
${_lib_casper} \
lib/ncurses/ncurses lib/ncurses/ncursesw \
- lib/libopie lib/libpam ${_lib_libthr} \
+ lib/libopie lib/libpam/libpam ${_lib_libthr} \
${_lib_libradius} lib/libsbuf lib/libtacplus \
lib/libgeom \
${_cddl_lib_libumem} ${_cddl_lib_libnvpair} \
@@ -1909,6 +1923,7 @@ _prebuild_libs= ${_kerberos5_lib_libasn1
${_secure_lib_libcrypto} ${_lib_libldns} \
${_secure_lib_libssh} ${_secure_lib_libssl} \
gnu/lib/libdialog
+
.if ${MK_GNUCXX} != "no"
_prebuild_libs+= gnu/lib/libstdc++ gnu/lib/libsupc++
gnu/lib/libstdc++__L: lib/msun__L
@@ -2076,7 +2091,7 @@ ${_lib}__PL: .PHONY .MAKE
.endif
.endfor
-.for _lib in ${_startup_libs} ${_prebuild_libs:Nlib/libpam} ${_generic_libs}
+.for _lib in ${_startup_libs} ${_prebuild_libs} ${_generic_libs}
${_lib}__L: .PHONY .MAKE
.if exists(${.CURDIR}/${_lib})
${_+_}@${ECHODIR} "===> ${_lib} (obj,all,install)"; \
@@ -2087,18 +2102,6 @@ ${_lib}__L: .PHONY .MAKE
.endif
.endfor
-# libpam is special: we need to build static PAM modules before
-# static PAM library, and dynamic PAM library before dynamic PAM
-# modules.
-lib/libpam__L: .PHONY .MAKE
- ${_+_}@${ECHODIR} "===> lib/libpam (obj,all,install)"; \
- cd ${.CURDIR}/lib/libpam; \
- ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ obj; \
- ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \
- -D_NO_LIBPAM_SO_YET all; \
- ${MAKE} MK_TESTS=no DIRPRFX=lib/libpam/ \
- -D_NO_LIBPAM_SO_YET install
-
_prereq_libs: ${_prereq_libs:S/$/__PL/}
_startup_libs: ${_startup_libs:S/$/__L/}
_prebuild_libs: ${_prebuild_libs:S/$/__L/}
Modified: projects/release-pkg/Makefile.libcompat
==============================================================================
--- projects/release-pkg/Makefile.libcompat Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/Makefile.libcompat Sat Apr 16 02:32:12 2016 (r298092)
@@ -88,8 +88,13 @@ LIBCOMPATWMAKEENV+= MAKEOBJDIRPREFIX=${L
LIBDIR=/usr/lib${libcompat} \
SHLIBDIR=/usr/lib${libcompat} \
DTRACE="${LIB$COMPATDTRACE:U${DTRACE}}"
+.if ${MK_META_MODE} != "no"
+# Don't rebuild build-tools targets during normal build.
+LIBCOMPATWMAKEENV+= BUILD_TOOLS_META=.NOMETA_CMP
+.endif
LIBCOMPATWMAKEFLAGS+= CC="${XCC} ${LIBCOMPATCFLAGS}" \
CXX="${XCXX} ${LIBCOMPATCFLAGS} ${LIBCOMPATCXXFLAGS}" \
+ CPP="${XCPP} ${LIBCOMPATCFLAGS}" \
DESTDIR=${LIBCOMPATTMP} \
-DNO_CPU_CFLAGS \
MK_CTF=no \
Modified: projects/release-pkg/ObsoleteFiles.inc
==============================================================================
--- projects/release-pkg/ObsoleteFiles.inc Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/ObsoleteFiles.inc Sat Apr 16 02:32:12 2016 (r298092)
@@ -1732,7 +1732,6 @@ OLD_FILES+=usr/share/man/man4/lindev.4.g
# 20140425
OLD_FILES+=usr/lib/libssp_p.a
OLD_FILES+=usr/lib/libstand_p.a
-OLD_FILES+=usr/lib32/libc_pic.a
OLD_FILES+=usr/lib32/libssp_p.a
OLD_FILES+=usr/lib32/libstand_p.a
# 20140314: AppleTalk
Modified: projects/release-pkg/UPDATING
==============================================================================
--- projects/release-pkg/UPDATING Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/UPDATING Sat Apr 16 02:32:12 2016 (r298092)
@@ -31,6 +31,33 @@ NOTE TO PEOPLE WHO THINK THAT FreeBSD 11
disable the most expensive debugging functionality run
"ln -s 'abort:false,junk:false' /etc/malloc.conf".)
+20160414:
+ The CAM I/O scheduler has been committed to the kernel. There should be
+ no user visible impact. This does enable NCQ Trim on ada SSDs. While the
+ list of known rogues that claim support for this but actually corrupt
+ data is believed to be complete, be on the lookout for data
+ corruption. The known rogue list is believed to be complete:
+
+ o Crucial MX100, M550 drives with MU01 firmware.
+ o Micron M510 and M550 drives with MU01 firmware.
+ o Micron M500 prior to MU07 firmware
+ o Samsung 830, 840, and 850 all firmwares
+ o FCCT M500 all firmwares
+
+ Crucial has firmware http://www.crucial.com/usa/en/support-ssd-firmware
+ with working NCQ TRIM. For Micron branded drives, see your sales rep for
+ updated firmware. Black listed drives will work correctly because these
+ drives work correctly so long as no NCQ TRIMs are sent to them. Given
+ this list is the same as found in Linux, it's believed there are no
+ other rogues in the market place. All other models from the above
+ vendors work.
+
+ To be safe, if you are at all concerned, you can quirk each of your
+ drives to prevent NCQ from being sent by setting:
+ kern.cam.ada.X.quirks="0x2"
+ in loader.conf. If the drive requires the 4k sector quirk, set the
+ quirks entry to 0x3.
+
20160330:
The FAST_DEPEND build option has been removed and its functionality is
now the one true way. The old mkdep(1) style of 'make depend' has
Modified: projects/release-pkg/bin/csh/Makefile
==============================================================================
--- projects/release-pkg/bin/csh/Makefile Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/bin/csh/Makefile Sat Apr 16 02:32:12 2016 (r298092)
@@ -110,7 +110,7 @@ csh.1: tcsh.man
build-tools: gethost
-gethost: gethost.c sh.err.h tc.const.h sh.h
+gethost: gethost.c sh.err.h tc.const.h sh.h ${BUILD_TOOLS_META}
@rm -f ${.TARGET}
${CC} -o gethost ${LDFLAGS} ${CFLAGS:C/-DHAVE_ICONV//} \
${TCSHDIR}/gethost.c
Modified: projects/release-pkg/bin/sh/Makefile
==============================================================================
--- projects/release-pkg/bin/sh/Makefile Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/bin/sh/Makefile Sat Apr 16 02:32:12 2016 (r298092)
@@ -45,10 +45,10 @@ builtins.c builtins.h: mkbuiltins builti
# XXX this is just to stop the default .c rule being used, so that the
# intermediate object has a fixed name.
# XXX we have a default .c rule, but no default .o rule.
-.o:
+mknodes.o mksyntax.o: ${BUILD_TOOLS_META}
${CC} ${CFLAGS} ${LDFLAGS} ${.IMPSRC} ${LDLIBS} -o ${.TARGET}
-mknodes: mknodes.o
-mksyntax: mksyntax.o
+mknodes: mknodes.o ${BUILD_TOOLS_META}
+mksyntax: mksyntax.o ${BUILD_TOOLS_META}
.ORDER: nodes.c nodes.h
nodes.c nodes.h: mknodes nodetypes nodes.c.pat
Modified: projects/release-pkg/bin/sh/parser.c
==============================================================================
--- projects/release-pkg/bin/sh/parser.c Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/bin/sh/parser.c Sat Apr 16 02:32:12 2016 (r298092)
@@ -1616,7 +1616,6 @@ parsesub: {
int flags;
char *p;
static const char types[] = "}-+?=";
- int bracketed_name = 0; /* used to handle ${[0-9]*} variables */
int linno;
int length;
int c1;
@@ -1640,7 +1639,6 @@ parsesub: {
subtype = VSNORMAL;
flags = 0;
if (c == '{') {
- bracketed_name = 1;
c = pgetc_linecont();
subtype = 0;
}
@@ -1665,7 +1663,7 @@ varname:
flags |= VSLINENO;
}
} else if (is_digit(c)) {
- if (bracketed_name) {
+ if (subtype != VSNORMAL) {
do {
STPUTC(c, out);
c = pgetc_linecont();
Modified: projects/release-pkg/cddl/lib/libdtrace/tcp.d
==============================================================================
--- projects/release-pkg/cddl/lib/libdtrace/tcp.d Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/cddl/lib/libdtrace/tcp.d Sat Apr 16 02:32:12 2016 (r298092)
@@ -108,16 +108,16 @@ typedef struct tcpsinfo {
uint32_t tcps_snxt; /* next sequence # to send */
uint32_t tcps_rack; /* sequence # we have acked */
uint32_t tcps_rnxt; /* next sequence # expected */
- uint32_t tcps_swnd; /* send window size */
+ u_long tcps_swnd; /* send window size */
int32_t tcps_snd_ws; /* send window scaling */
uint32_t tcps_swl1; /* window update seg seq number */
uint32_t tcps_swl2; /* window update seg ack number */
uint32_t tcps_rup; /* receive urgent pointer */
uint32_t tcps_radv; /* advertised window */
- uint32_t tcps_rwnd; /* receive window size */
+ u_long tcps_rwnd; /* receive window size */
int32_t tcps_rcv_ws; /* receive window scaling */
- uint32_t tcps_cwnd; /* congestion window */
- uint32_t tcps_cwnd_ssthresh; /* threshold for congestion avoidance */
+ u_long tcps_cwnd; /* congestion window */
+ u_long tcps_cwnd_ssthresh; /* threshold for congestion avoidance */
uint32_t tcps_srecover; /* for use in NewReno Fast Recovery */
uint32_t tcps_sack_fack; /* SACK sequence # we have acked */
uint32_t tcps_sack_snxt; /* next SACK seq # for retransmission */
Modified: projects/release-pkg/contrib/elftoolchain/elfcopy/sections.c
==============================================================================
--- projects/release-pkg/contrib/elftoolchain/elfcopy/sections.c Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/contrib/elftoolchain/elfcopy/sections.c Sat Apr 16 02:32:12 2016 (r298092)
@@ -343,7 +343,7 @@ create_scn(struct elfcopy *ecp)
GElf_Shdr ish;
size_t indx;
uint64_t oldndx, newndx;
- int elferr, sec_flags;
+ int elferr, sec_flags, reorder;
/*
* Insert a pseudo section that contains the ELF header
@@ -367,6 +367,7 @@ create_scn(struct elfcopy *ecp)
errx(EXIT_FAILURE, "elf_getshstrndx failed: %s",
elf_errmsg(-1));
+ reorder = 0;
is = NULL;
while ((is = elf_nextscn(ecp->ein, is)) != NULL) {
if (gelf_getshdr(is, &ish) == NULL)
@@ -482,8 +483,20 @@ create_scn(struct elfcopy *ecp)
/* create section header based on input object. */
if (strcmp(name, ".symtab") != 0 &&
strcmp(name, ".strtab") != 0 &&
- strcmp(name, ".shstrtab") != 0)
+ strcmp(name, ".shstrtab") != 0) {
copy_shdr(ecp, s, NULL, 0, sec_flags);
+ /*
+ * elfcopy puts .symtab, .strtab and .shstrtab
+ * sections in the end of the output object.
+ * If the input objects have more sections
+ * after any of these 3 sections, the section
+ * table will be reordered. section symbols
+ * should be regenerated for relocations.
+ */
+ if (reorder)
+ ecp->flags &= ~SYMTAB_INTACT;
+ } else
+ reorder = 1;
if (strcmp(name, ".symtab") == 0) {
ecp->flags |= SYMTAB_EXIST;
Modified: projects/release-pkg/contrib/ipfilter/bpf_filter.c
==============================================================================
--- projects/release-pkg/contrib/ipfilter/bpf_filter.c Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/contrib/ipfilter/bpf_filter.c Sat Apr 16 02:32:12 2016 (r298092)
@@ -132,7 +132,7 @@ m_xword(m, k, err)
return EXTRACT_LONG(cp);
}
m0 = m->m_next;
- if (m0 == 0 || M_LEN(m0) + len - k < 4)
+ if (m0 == NULL || M_LEN(m0) + len - k < 4)
goto bad;
*err = 0;
np = MTOD(m0, u_char *);
@@ -168,7 +168,7 @@ m_xhalf(m, k, err)
return EXTRACT_SHORT(cp);
}
m0 = m->m_next;
- if (m0 == 0)
+ if (m0 == NULL)
goto bad;
*err = 0;
return (cp[0] << 8) | MTOD(m0, u_char *)[0];
@@ -205,7 +205,7 @@ bpf_filter(pc, p, wirelen, buflen)
} else
m = NULL;
- if (pc == 0)
+ if (pc == NULL)
/*
* No filter means accept all.
*/
Modified: projects/release-pkg/contrib/ipfilter/mli_ipl.c
==============================================================================
--- projects/release-pkg/contrib/ipfilter/mli_ipl.c Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/contrib/ipfilter/mli_ipl.c Sat Apr 16 02:32:12 2016 (r298092)
@@ -64,9 +64,9 @@ ipfrwlock_t ipf_global, ipf_mutex, ipf_i
int (*ipf_checkp) __P((struct ip *, int, void *, int, mb_t **));
#ifdef IPFILTER_LKM
-static int *ipff_addr = 0;
+static int *ipff_addr;
static int ipff_value;
-static __psunsigned_t *ipfk_addr = 0;
+static __psunsigned_t *ipfk_addr;
static __psunsigned_t ipfk_code[4];
#endif
static void nifattach();
@@ -85,7 +85,7 @@ typedef struct nif {
int nf_unit;
} nif_t;
-static nif_t *nif_head = 0;
+static nif_t *nif_head;
static int nif_interfaces = 0;
extern int in_interfaces;
#if IRIX >= 60500
Modified: projects/release-pkg/contrib/libpcap/pcap-snf.c
==============================================================================
--- projects/release-pkg/contrib/libpcap/pcap-snf.c Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/contrib/libpcap/pcap-snf.c Sat Apr 16 02:32:12 2016 (r298092)
@@ -57,10 +57,11 @@ snf_pcap_stats(pcap_t *p, struct pcap_st
static void
snf_platform_cleanup(pcap_t *p)
{
- struct pcap_snf *ps = p->priv;
+ struct pcap_snf *ps;
if (p == NULL)
return;
+ ps = p->priv;
snf_ring_close(ps->snf_ring);
snf_close(ps->snf_handle);
Modified: projects/release-pkg/contrib/libxo/Makefile.am
==============================================================================
--- projects/release-pkg/contrib/libxo/Makefile.am Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/contrib/libxo/Makefile.am Sat Apr 16 02:32:12 2016 (r298092)
@@ -77,6 +77,7 @@ GH_PAGES_PACKAGE_DIR = ${GH_PAGES_DIR}/$
packages:
@-[ -d ${GH_PAGES_DIR} ] && set -x \
&& echo "Updating packages on gh-pages ..." \
+ && mkdir -p ${GH_PAGES_DIR}/${GH_PACKAGING_DIR} \
&& SHA1="`openssl sha1 ${PACKAGE_FILE} | awk '{print $$2}'`" \
&& SHA256="`openssl sha256 ${PACKAGE_FILE} | awk '{print $$2}'`" \
&& SIZE="`ls -l ${PACKAGE_FILE} | awk '{print $$5}'`" \
Modified: projects/release-pkg/contrib/libxo/configure.ac
==============================================================================
--- projects/release-pkg/contrib/libxo/configure.ac Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/contrib/libxo/configure.ac Sat Apr 16 02:32:12 2016 (r298092)
@@ -12,7 +12,7 @@
#
AC_PREREQ(2.2)
-AC_INIT([libxo], [0.4.6], [phil at juniper.net])
+AC_INIT([libxo], [0.6.1], [phil at juniper.net])
AM_INIT_AUTOMAKE([-Wall -Werror foreign -Wno-portability])
# Support silent build rules. Requires at least automake-1.11.
@@ -74,6 +74,7 @@ AC_CHECK_HEADERS([ctype.h errno.h stdio.
AC_CHECK_HEADERS([string.h sys/param.h unistd.h ])
AC_CHECK_HEADERS([sys/sysctl.h])
AC_CHECK_HEADERS([threads.h])
+AC_CHECK_HEADERS([monitor.h])
dnl humanize_number(3) is a great function, but it's not standard.
dnl Note Macosx has the function in libutil.a but doesn't ship the
@@ -148,10 +149,18 @@ fi
AC_SUBST(GETTEXT_CFLAGS)
AC_SUBST(GETTEXT_LIBS)
-GETTEXT_BINDIR=${GETTEXT_PREFIX}/bin
-AC_SUBST(GETTEXT_BINDIR)
GETTEXT_LIBDIR=${GETTEXT_PREFIX}/lib
AC_SUBST(GETTEXT_LIBDIR)
+if test -x ${GETTEXT_PREFIX}/bin/msgfmt ; then
+ GETTEXT_BINDIR=${GETTEXT_PREFIX}/bin
+elif test -x ${GETTEXT_PREFIX}/local/bin/msgfmt ; then
+ GETTEXT_BINDIR=${GETTEXT_PREFIX}/local/bin
+else
+ AC_MSG_NOTICE("could not find msgfmt tool")
+ # Use a (bad) fall back value
+ GETTEXT_BINDIR=${GETTEXT_PREFIX}/bin
+fi
+AC_SUBST(GETTEXT_BINDIR)
AM_CONDITIONAL([HAVE_GETTEXT], [test "$HAVE_GETTEXT" = "yes"])
@@ -287,6 +296,18 @@ if test "${LIBXO_WCWIDTH}" != "no"; then
AC_DEFINE([LIBXO_WCWIDTH], [1], [Enable local wcwidth implementation])
fi
+AC_MSG_CHECKING([retain hash bucket size])
+AC_ARG_WITH(retain-size,
+ [ --with-retain-size=[DIR] Specify retain hash bucket size (in bits)],
+ [XO_RETAIN_SIZE=$withval],
+ [XO_RETAIN_SIZE=default]
+)
+
+AC_MSG_RESULT([$XO_RETAIN_SIZE])
+if test "${XO_RETAIN_SIZE}" != "default"; then
+ AC_DEFINE_UNQUOTED([XO_RETAIN_SIZE], ${XO_RETAIN_SIZE}, [Retain hash bucket size])
+fi
+
AC_CHECK_LIB([m], [lrint])
AM_CONDITIONAL([HAVE_LIBM], [test "$HAVE_LIBM" != "no"])
@@ -347,12 +368,15 @@ XO_SRCDIR=${srcdir}
XO_LIBDIR=${libdir}
XO_BINDIR=${bindir}
XO_INCLUDEDIR=${includedir}
+XO_CFLAGS="${CFLAGS}"
+AC_SUBST(XO_LIBS)
AC_SUBST(XO_SRCDIR)
AC_SUBST(XO_LIBDIR)
AC_SUBST(XO_BINDIR)
AC_SUBST(XO_INCLUDEDIR)
AC_SUBST(XO_LIBEXT)
+AC_SUBST(XO_CFLAGS)
AC_ARG_WITH(encoder-dir,
[ --with-encoder-dir=[DIR] Specify location of encoder libraries],
@@ -449,4 +473,5 @@ AC_MSG_NOTICE([summary of build options:
isthreaded: ${HAVE_ISTHREADED:-no}
thread-local: ${THREAD_LOCAL:-no}
local wcwidth: ${LIBXO_WCWIDTH:-no}
+ retain size: ${XO_RETAIN_SIZE:-no}
])
Modified: projects/release-pkg/contrib/libxo/doc/libxo-manual.html
==============================================================================
--- projects/release-pkg/contrib/libxo/doc/libxo-manual.html Sat Apr 16 02:11:04 2016 (r298091)
+++ projects/release-pkg/contrib/libxo/doc/libxo-manual.html Sat Apr 16 02:32:12 2016 (r298092)
@@ -515,7 +515,7 @@ li.indline1 {
}
@top-right {
- content: "August 2015";
+ content: "April 2016";
}
@top-center {
@@ -22009,7 +22009,7 @@ jQuery(function ($) {
</tr>
<tr>
<td class="header left"></td>
-<td class="header right">August 24, 2015</td>
+<td class="header right">April 15, 2016</td>
</tr>
</table></div>
<p id="title" class="title">libxo: The Easy Way to Generate text, XML, JSON, and HTML output<br><span class="filename">libxo-manual</span></p>
@@ -22130,46 +22130,54 @@ jQuery(function ($) {
<a href="#field-modifiers">Field Modifiers</a><ul class="toc">
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_1">2.2.2.1 </div>
-<a href="#the-colon-modifier-c">The Colon Modifier ({c:})</a>
+<a href="#the-argument-modifier-a">The Argument Modifier ({a:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_2">2.2.2.2 </div>
-<a href="#the-display-modifier-d">The Display Modifier ({d:})</a>
+<a href="#the-colon-modifier-c">The Colon Modifier ({c:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_3">2.2.2.3 </div>
-<a href="#e-modifier">The Encoding Modifier ({e:})</a>
+<a href="#the-display-modifier-d">The Display Modifier ({d:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_4">2.2.2.4 </div>
-<a href="#gettext-modifier">The Gettext Modifier ({g:})</a>
+<a href="#e-modifier">The Encoding Modifier ({e:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_5">2.2.2.5 </div>
-<a href="#the-humanize-modifier-h">The Humanize Modifier ({h:})</a>
+<a href="#gettext-modifier">The Gettext Modifier ({g:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_6">2.2.2.6 </div>
-<a href="#the-key-modifier-k">The Key Modifier ({k:})</a>
+<a href="#the-humanize-modifier-h">The Humanize Modifier ({h:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_7">2.2.2.7 </div>
-<a href="#the-leaf-list-modifier-l">The Leaf-List Modifier ({l:})</a>
+<a href="#the-key-modifier-k">The Key Modifier ({k:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_8">2.2.2.8 </div>
-<a href="#the-no-quotes-modifier-n">The No-Quotes Modifier ({n:})</a>
+<a href="#the-leaf-list-modifier-l">The Leaf-List Modifier ({l:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_9">2.2.2.9 </div>
-<a href="#plural-modifier">The Plural Modifier ({p:})</a>
+<a href="#the-no-quotes-modifier-n">The No-Quotes Modifier ({n:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_10">2.2.2.10 </div>
-<a href="#the-quotes-modifier-q">The Quotes Modifier ({q:})</a>
+<a href="#plural-modifier">The Plural Modifier ({p:})</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_2_11">2.2.2.11 </div>
+<a href="#the-quotes-modifier-q">The Quotes Modifier ({q:})</a>
+</li>
+<li class="tocline1">
+<div class="section-number" id="toc_doc_section_2_2_2_12">2.2.2.12 </div>
+<a href="#the-trim-modifier-t">The Trim Modifier ({t:})</a>
+</li>
+<li class="tocline1">
+<div class="section-number" id="toc_doc_section_2_2_2_13">2.2.2.13 </div>
<a href="#the-white-space-modifier-w">The White Space Modifier ({w:})</a>
</li>
</ul>
@@ -22208,42 +22216,38 @@ jQuery(function ($) {
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_2_11">2.2.11 </div>
+<a href="#retain">Retaining Parsed Format Information</a>
+</li>
+<li class="tocline1">
+<div class="section-number" id="toc_doc_section_2_2_12">2.2.12 </div>
<a href="#example">Example</a>
</li>
</ul>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_2_3">2.3 </div>
-<a href="#command-line-arguments">Command-line Arguments</a>
-</li>
-<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4">2.4 </div>
<a href="#representing-hierarchy">Representing Hierarchy</a><ul class="toc">
<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4_1">2.4.1 </div>
+<div class="section-number" id="toc_doc_section_2_3_1">2.3.1 </div>
<a href="#containers">Containers</a>
</li>
<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4_2">2.4.2 </div>
+<div class="section-number" id="toc_doc_section_2_3_2">2.3.2 </div>
<a href="#lists-and-instances">Lists and Instances</a>
</li>
<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4_3">2.4.3 </div>
+<div class="section-number" id="toc_doc_section_2_3_3">2.3.3 </div>
<a href="#dtrt-mode">DTRT Mode</a>
</li>
<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_4_4">2.4.4 </div>
+<div class="section-number" id="toc_doc_section_2_3_4">2.3.4 </div>
<a href="#markers">Markers</a>
</li>
</ul>
</li>
<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_5">2.5 </div>
-<a href="#handles">Handles</a>
-</li>
-<li class="tocline1">
-<div class="section-number" id="toc_doc_section_2_6">2.6 </div>
-<a href="#utf-8">UTF-8</a>
+<div class="section-number" id="toc_doc_section_2_4">2.4 </div>
+<a href="#command-line-arguments">Command-line Arguments</a>
</li>
</ul>
</li>
@@ -22252,7 +22256,7 @@ jQuery(function ($) {
<a href="#the-libxo-api">The libxo API</a><ul class="toc top-toc">
<li class="tocline1">
<div class="section-number" id="toc_doc_section_3_1">3.1 </div>
-<a href="#handles-2">Handles</a><ul class="toc">
+<a href="#handles">Handles</a><ul class="toc">
<li class="tocline1">
<div class="section-number" id="toc_doc_section_3_1_1">3.1.1 </div>
<a href="#xo_create">xo_create</a>
@@ -22306,14 +22310,18 @@ jQuery(function ($) {
<a href="#emitting-content-xo_emit">Emitting Content (xo_emit)</a><ul class="toc">
<li class="tocline1">
<div class="section-number" id="toc_doc_section_3_2_1">3.2.1 </div>
-<a href="#xo_attr">Attributes (xo_attr)</a>
+<a href="#xo_emit_field">Single Field Emitting Functions (xo_emit_field)</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_3_2_2">3.2.2 </div>
-<a href="#flushing-output-xo_flush">Flushing Output (xo_flush)</a>
+<a href="#xo_attr">Attributes (xo_attr)</a>
</li>
<li class="tocline1">
<div class="section-number" id="toc_doc_section_3_2_3">3.2.3 </div>
+<a href="#flushing-output-xo_flush">Flushing Output (xo_flush)</a>
+</li>
+<li class="tocline1">
+<div class="section-number" id="toc_doc_section_3_2_4">3.2.4 </div>
<a href="#finishing-output-xo_finish">Finishing Output (xo_finish)</a>
</li>
</ul>
@@ -22851,10 +22859,8 @@ jQuery(function ($) {
<ul>
<li><a href="#encoding-styles" title="Encoding Styles">Section 2.1</a></li>
<li><a href="#format-strings" title="Format Strings">Section 2.2</a></li>
-<li><a href="#command-line-arguments" title="Command-line Arguments">Section 2.3</a></li>
-<li><a href="#representing-hierarchy" title="Representing Hierarchy">Section 2.4</a></li>
-<li><a href="#handles" title="Handles">Section 2.5</a></li>
-<li><a href="#utf-8" title="UTF-8">Section 2.6</a></li>
+<li><a href="#representing-hierarchy" title="Representing Hierarchy">Section 2.3</a></li>
+<li><a href="#command-line-arguments" title="Command-line Arguments">Section 2.4</a></li>
</ul>
<div class="content">
<h2 id="doc_section_2_1">
@@ -22992,7 +22998,8 @@ jQuery(function ($) {
<li><a href="#the-encoding-format-eformat" title="The Encoding Format (eformat)">Section 2.2.8</a></li>
<li><a href="#content-strings" title="Content Strings">Section 2.2.9</a></li>
<li><a href="#printf-like" title="Argument Validation">Section 2.2.10</a></li>
-<li><a href="#example" title="Example">Section 2.2.11</a></li>
+<li><a href="#retain" title="Retaining Parsed Format Information">Section 2.2.11</a></li>
+<li><a href="#example" title="Example">Section 2.2.12</a></li>
</ul>
<div class="content">
<h3 id="doc_section_2_2_1">
@@ -23356,6 +23363,11 @@ jQuery(function ($) {
</tr></thead>
<tbody>
<tr>
+<td>a</td>
+<td>argument</td>
+<td>The content appears as a 'const char *' argument</td>
+</tr>
+<tr>
<td>c</td>
<td>colon</td>
<td>A colon (":") is appended after the label</td>
@@ -23435,87 +23447,107 @@ jQuery(function ($) {
<p id="doc_section_2_2_2_p_2">Roles and modifiers can also use more verbose names, when preceeded by a comma. For example, the modifier string "Lwc" (or "L,white,colon") means the field has a label role (text that describes the next field) and should be followed by a colon ('c') and a space ('w'). The modifier string "Vkq" (or ":key,quote") means the field has a value role (the default role), that it is a key for the current instance, and that the value should be quoted when encoded for JSON.</p>
<p id="doc_section_2_2_2_p_3">Section Contents: </p>
<ul>
-<li><a href="#the-colon-modifier-c" title="The Colon Modifier ({c:})">Section 2.2.2.1</a></li>
-<li><a href="#the-display-modifier-d" title="The Display Modifier ({d:})">Section 2.2.2.2</a></li>
-<li><a href="#e-modifier" title="The Encoding Modifier ({e:})">Section 2.2.2.3</a></li>
-<li><a href="#gettext-modifier" title="The Gettext Modifier ({g:})">Section 2.2.2.4</a></li>
-<li><a href="#the-humanize-modifier-h" title="The Humanize Modifier ({h:})">Section 2.2.2.5</a></li>
-<li><a href="#the-key-modifier-k" title="The Key Modifier ({k:})">Section 2.2.2.6</a></li>
-<li><a href="#the-leaf-list-modifier-l" title="The Leaf-List Modifier ({l:})">Section 2.2.2.7</a></li>
-<li><a href="#the-no-quotes-modifier-n" title="The No-Quotes Modifier ({n:})">Section 2.2.2.8</a></li>
-<li><a href="#plural-modifier" title="The Plural Modifier ({p:})">Section 2.2.2.9</a></li>
-<li><a href="#the-quotes-modifier-q" title="The Quotes Modifier ({q:})">Section 2.2.2.10</a></li>
-<li><a href="#the-white-space-modifier-w" title="The White Space Modifier ({w:})">Section 2.2.2.11</a></li>
+<li><a href="#the-argument-modifier-a" title="The Argument Modifier ({a:})">Section 2.2.2.1</a></li>
+<li><a href="#the-colon-modifier-c" title="The Colon Modifier ({c:})">Section 2.2.2.2</a></li>
+<li><a href="#the-display-modifier-d" title="The Display Modifier ({d:})">Section 2.2.2.3</a></li>
+<li><a href="#e-modifier" title="The Encoding Modifier ({e:})">Section 2.2.2.4</a></li>
+<li><a href="#gettext-modifier" title="The Gettext Modifier ({g:})">Section 2.2.2.5</a></li>
+<li><a href="#the-humanize-modifier-h" title="The Humanize Modifier ({h:})">Section 2.2.2.6</a></li>
+<li><a href="#the-key-modifier-k" title="The Key Modifier ({k:})">Section 2.2.2.7</a></li>
+<li><a href="#the-leaf-list-modifier-l" title="The Leaf-List Modifier ({l:})">Section 2.2.2.8</a></li>
+<li><a href="#the-no-quotes-modifier-n" title="The No-Quotes Modifier ({n:})">Section 2.2.2.9</a></li>
+<li><a href="#plural-modifier" title="The Plural Modifier ({p:})">Section 2.2.2.10</a></li>
+<li><a href="#the-quotes-modifier-q" title="The Quotes Modifier ({q:})">Section 2.2.2.11</a></li>
+<li><a href="#the-trim-modifier-t" title="The Trim Modifier ({t:})">Section 2.2.2.12</a></li>
+<li><a href="#the-white-space-modifier-w" title="The White Space Modifier ({w:})">Section 2.2.2.13</a></li>
</ul>
<div class="content">
<h4 id="doc_section_2_2_2_1">
<div class="self-section-number">
<a href="#doc_section_2_2_2_1">2.2.2.1</a> </div>
-<a id="the-colon-modifier-c" href="#the-colon-modifier-c">The Colon Modifier ({c:})</a>
+<a id="the-argument-modifier-a" href="#the-argument-modifier-a">The Argument Modifier ({a:})</a>
</h4>
-<p id="doc_section_2_2_2_1_p_1">The colon modifier appends a single colon to the data value:</p>
+<p id="doc_section_2_2_2_1_p_1">The argument modifier indicates that the content of the field descriptor will be placed as a UTF-8 string (const char *) argument within the xo_emit parameters.</p>
<div id="doc_figure_u.48"></div> <pre>
EXAMPLE:
- xo_emit("{Lc:Name}{:name}\n", "phil");
+ xo_emit("{La:} {a:}\n", "Label text", "label", "value");
TEXT:
- Name:phil
- </pre> <p id="doc_section_2_2_2_1_p_3">The colon modifier is only used for the TEXT and HTML output styles. It is commonly combined with the space modifier ('{w:}'). It is purely a convenience feature.</p>
+ Label text value
+ JSON:
+ "label": "value"
+ XML:
+ <label>value</label>
+ </pre> <p id="doc_section_2_2_2_1_p_3">The argument modifier allows field names for value fields to be passed on the stack, avoiding the need to build a field descriptor using snprintf. For many field roles, the argument modifier is not needed, since those roles have specific mechanisms for arguments, such as "{C:fg‑%s}".</p>
</div>
<div class="content">
<h4 id="doc_section_2_2_2_2">
<div class="self-section-number">
<a href="#doc_section_2_2_2_2">2.2.2.2</a> </div>
-<a id="the-display-modifier-d" href="#the-display-modifier-d">The Display Modifier ({d:})</a>
+<a id="the-colon-modifier-c" href="#the-colon-modifier-c">The Colon Modifier ({c:})</a>
</h4>
-<p id="doc_section_2_2_2_2_p_1">The display modifier indicated the field should only be generated for the display output styles, TEXT and HTML.</p>
+<p id="doc_section_2_2_2_2_p_1">The colon modifier appends a single colon to the data value:</p>
<div id="doc_figure_u.49"></div> <pre>
EXAMPLE:
+ xo_emit("{Lc:Name}{:name}\n", "phil");
+ TEXT:
+ Name:phil
+ </pre> <p id="doc_section_2_2_2_2_p_3">The colon modifier is only used for the TEXT and HTML output styles. It is commonly combined with the space modifier ('{w:}'). It is purely a convenience feature.</p>
+</div>
+<div class="content">
+<h4 id="doc_section_2_2_2_3">
+<div class="self-section-number">
+<a href="#doc_section_2_2_2_3">2.2.2.3</a> </div>
+<a id="the-display-modifier-d" href="#the-display-modifier-d">The Display Modifier ({d:})</a>
+</h4>
+<p id="doc_section_2_2_2_3_p_1">The display modifier indicated the field should only be generated for the display output styles, TEXT and HTML.</p>
+<div id="doc_figure_u.50"></div> <pre>
+ EXAMPLE:
xo_emit("{Lcw:Name}{d:name} {:id/%d}\n", "phil", 1);
TEXT:
Name: phil 1
XML:
<id>1</id>
- </pre> <p id="doc_section_2_2_2_2_p_3">The display modifier is the opposite of the encoding modifier, and they are often used to give to distinct views of the underlying data.</p>
+ </pre> <p id="doc_section_2_2_2_3_p_3">The display modifier is the opposite of the encoding modifier, and they are often used to give to distinct views of the underlying data.</p>
</div>
<div class="content">
-<h4 id="doc_section_2_2_2_3">
+<h4 id="doc_section_2_2_2_4">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_3">2.2.2.3</a> </div>
+<a href="#doc_section_2_2_2_4">2.2.2.4</a> </div>
<a id="e-modifier" href="#e-modifier">The Encoding Modifier ({e:})</a>
</h4>
-<p id="doc_section_2_2_2_3_p_1">The display modifier indicated the field should only be generated for the display output styles, TEXT and HTML.</p>
-<div id="doc_figure_u.50"></div> <pre>
+<p id="doc_section_2_2_2_4_p_1">The display modifier indicated the field should only be generated for the display output styles, TEXT and HTML.</p>
+<div id="doc_figure_u.51"></div> <pre>
EXAMPLE:
xo_emit("{Lcw:Name}{:name} {e:id/%d}\n", "phil", 1);
TEXT:
Name: phil
XML:
<name>phil</name><id>1</id>
- </pre> <p id="doc_section_2_2_2_3_p_3">The encoding modifier is the opposite of the display modifier, and they are often used to give to distinct views of the underlying data.</p>
+ </pre> <p id="doc_section_2_2_2_4_p_3">The encoding modifier is the opposite of the display modifier, and they are often used to give to distinct views of the underlying data.</p>
</div>
<div class="content">
-<h4 id="doc_section_2_2_2_4">
+<h4 id="doc_section_2_2_2_5">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_4">2.2.2.4</a> </div>
+<a href="#doc_section_2_2_2_5">2.2.2.5</a> </div>
<a id="gettext-modifier" href="#gettext-modifier">The Gettext Modifier ({g:})</a>
</h4>
-<p id="doc_section_2_2_2_4_p_1">The gettext modifier is used to translate individual fields using the gettext domain (typically set using the "{G:}" role) and current language settings. Once libxo renders the field value, it is passed to gettext(3), where it is used as a key to find the native language translation.</p>
-<p id="doc_section_2_2_2_4_p_2">In the following example, the strings "State" and "full" are passed to gettext() to find locale-based translated strings.</p>
-<div id="doc_figure_u.51"></div> <pre>
+<p id="doc_section_2_2_2_5_p_1">The gettext modifier is used to translate individual fields using the gettext domain (typically set using the "{G:}" role) and current language settings. Once libxo renders the field value, it is passed to gettext(3), where it is used as a key to find the native language translation.</p>
+<p id="doc_section_2_2_2_5_p_2">In the following example, the strings "State" and "full" are passed to gettext() to find locale-based translated strings.</p>
+<div id="doc_figure_u.52"></div> <pre>
xo_emit("{Lgwc:State}{g:state}\n", "full");
- </pre> <p id="doc_section_2_2_2_4_p_4">See <a href="#gettext-role" title="The Gettext Role ({G:})">Section 2.2.1.3</a>, <a href="#plural-modifier" title="The Plural Modifier ({p:})">Section 2.2.2.9</a>, and <a href="#howto-i18n" title="Howto: Internationalization (i18n)">Section 9.5</a> for additional details.</p>
+ </pre> <p id="doc_section_2_2_2_5_p_4">See <a href="#gettext-role" title="The Gettext Role ({G:})">Section 2.2.1.3</a>, <a href="#plural-modifier" title="The Plural Modifier ({p:})">Section 2.2.2.10</a>, and <a href="#howto-i18n" title="Howto: Internationalization (i18n)">Section 9.5</a> for additional details.</p>
</div>
<div class="content">
-<h4 id="doc_section_2_2_2_5">
+<h4 id="doc_section_2_2_2_6">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_5">2.2.2.5</a> </div>
+<a href="#doc_section_2_2_2_6">2.2.2.6</a> </div>
<a id="the-humanize-modifier-h" href="#the-humanize-modifier-h">The Humanize Modifier ({h:})</a>
</h4>
-<p id="doc_section_2_2_2_5_p_1">The humanize modifier is used to render large numbers as in a human-readable format. While numbers like "44470272" are completely readable to computers and savants, humans will generally find "44M" more meaningful.</p>
-<p id="doc_section_2_2_2_5_p_2">"hn" can be used as an alias for "humanize".</p>
-<p id="doc_section_2_2_2_5_p_3">The humanize modifier only affects display styles (TEXT and HMTL). The "no‑humanize" option (See <a href="#LIBXO_OPTIONS" title="LIBXO_OPTIONS">Section 3.4.6</a>) will block the function of the humanize modifier.</p>
-<p id="doc_section_2_2_2_5_p_4">There are a number of modifiers that affect details of humanization. These are only available in as full names, not single characters. The "hn‑space" modifier places a space between the number and any multiplier symbol, such as "M" or "K" (ex: "44 K"). The "hn‑decimal" modifier will add a decimal point and a single tenths digit when the number is less than 10 (ex: "4.4K"). The "hn‑1000" modifier will use 1000 as divisor instead of 1024, following the JEDEC-standard instead of the more natural binary powers-of-two tradition.</p>
-<div id="doc_figure_u.52"></div> <pre>
+<p id="doc_section_2_2_2_6_p_1">The humanize modifier is used to render large numbers as in a human-readable format. While numbers like "44470272" are completely readable to computers and savants, humans will generally find "44M" more meaningful.</p>
+<p id="doc_section_2_2_2_6_p_2">"hn" can be used as an alias for "humanize".</p>
+<p id="doc_section_2_2_2_6_p_3">The humanize modifier only affects display styles (TEXT and HMTL). The "no‑humanize" option (See <a href="#LIBXO_OPTIONS" title="LIBXO_OPTIONS">Section 3.4.6</a>) will block the function of the humanize modifier.</p>
+<p id="doc_section_2_2_2_6_p_4">There are a number of modifiers that affect details of humanization. These are only available in as full names, not single characters. The "hn‑space" modifier places a space between the number and any multiplier symbol, such as "M" or "K" (ex: "44 K"). The "hn‑decimal" modifier will add a decimal point and a single tenths digit when the number is less than 10 (ex: "4.4K"). The "hn‑1000" modifier will use 1000 as divisor instead of 1024, following the JEDEC-standard instead of the more natural binary powers-of-two tradition.</p>
+<div id="doc_figure_u.53"></div> <pre>
EXAMPLE:
xo_emit("{h:input/%u}, {h,hn-space:output/%u}, "
"{h,hn-decimal:errors/%u}, {h,hn-1000:capacity/%u}, "
@@ -23523,19 +23555,19 @@ jQuery(function ($) {
input, output, errors, capacity, remaining);
TEXT:
21, 57 K, 96M, 44M, 1.2G
- </pre> <p id="doc_section_2_2_2_5_p_6">In the HTML style, the original numeric value is rendered in the "data‑number" attribute on the <div> element:</p>
-<div id="doc_figure_u.53"></div> <pre>
+ </pre> <p id="doc_section_2_2_2_6_p_6">In the HTML style, the original numeric value is rendered in the "data‑number" attribute on the <div> element:</p>
+<div id="doc_figure_u.54"></div> <pre>
<div class="data" data-tag="errors"
data-number="100663296">96M</div>
</pre> </div>
<div class="content">
-<h4 id="doc_section_2_2_2_6">
+<h4 id="doc_section_2_2_2_7">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_6">2.2.2.6</a> </div>
+<a href="#doc_section_2_2_2_7">2.2.2.7</a> </div>
<a id="the-key-modifier-k" href="#the-key-modifier-k">The Key Modifier ({k:})</a>
</h4>
-<p id="doc_section_2_2_2_6_p_1">The key modifier is used to indicate that a particular field helps uniquely identify an instance of list data.</p>
-<div id="doc_figure_u.54"></div> <pre>
+<p id="doc_section_2_2_2_7_p_1">The key modifier is used to indicate that a particular field helps uniquely identify an instance of list data.</p>
+<div id="doc_figure_u.55"></div> <pre>
EXAMPLE:
xo_open_list("user");
for (i = 0; i < num_users; i++) {
@@ -23545,16 +23577,16 @@ jQuery(function ($) {
xo_close_instance("user");
}
xo_close_list("user");
- </pre> <p id="doc_section_2_2_2_6_p_3">Currently the key modifier is only used when generating XPath value for the HTML output style when XOF_XPATH is set, but other uses are likely in the near future.</p>
+ </pre> <p id="doc_section_2_2_2_7_p_3">Currently the key modifier is only used when generating XPath value for the HTML output style when XOF_XPATH is set, but other uses are likely in the near future.</p>
</div>
<div class="content">
-<h4 id="doc_section_2_2_2_7">
+<h4 id="doc_section_2_2_2_8">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_7">2.2.2.7</a> </div>
+<a href="#doc_section_2_2_2_8">2.2.2.8</a> </div>
<a id="the-leaf-list-modifier-l" href="#the-leaf-list-modifier-l">The Leaf-List Modifier ({l:})</a>
</h4>
-<p id="doc_section_2_2_2_7_p_1">The leaf-list modifier is used to distinguish lists where each instance consists of only a single value. In XML, these are rendered as single elements, where JSON renders them as arrays.</p>
-<div id="doc_figure_u.55"></div> <pre>
+<p id="doc_section_2_2_2_8_p_1">The leaf-list modifier is used to distinguish lists where each instance consists of only a single value. In XML, these are rendered as single elements, where JSON renders them as arrays.</p>
+<div id="doc_figure_u.56"></div> <pre>
EXAMPLE:
for (i = 0; i < num_users; i++) {
xo_emit("Member {l:user}\n", user[i].u_name);
@@ -23564,16 +23596,16 @@ jQuery(function ($) {
<user>pallavi</user>
JSON:
"user": [ "phil", "pallavi" ]
- </pre> <p id="doc_section_2_2_2_7_p_3">The name of the field must match the name of the leaf list.</p>
+ </pre> <p id="doc_section_2_2_2_8_p_3">The name of the field must match the name of the leaf list.</p>
</div>
<div class="content">
-<h4 id="doc_section_2_2_2_8">
+<h4 id="doc_section_2_2_2_9">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_8">2.2.2.8</a> </div>
+<a href="#doc_section_2_2_2_9">2.2.2.9</a> </div>
<a id="the-no-quotes-modifier-n" href="#the-no-quotes-modifier-n">The No-Quotes Modifier ({n:})</a>
</h4>
-<p id="doc_section_2_2_2_8_p_1">The no-quotes modifier (and its twin, the 'quotes' modifier) affect the quoting of values in the JSON output style. JSON uses quotes for string value, but no quotes for numeric, boolean, and null data. xo_emit applies a simple heuristic to determine whether quotes are needed, but often this needs to be controlled by the caller.</p>
-<div id="doc_figure_u.56"></div> <pre>
+<p id="doc_section_2_2_2_9_p_1">The no-quotes modifier (and its twin, the 'quotes' modifier) affect the quoting of values in the JSON output style. JSON uses quotes for string value, but no quotes for numeric, boolean, and null data. xo_emit applies a simple heuristic to determine whether quotes are needed, but often this needs to be controlled by the caller.</p>
+<div id="doc_figure_u.57"></div> <pre>
EXAMPLE:
const char *bool = is_true ? "true" : "false";
xo_emit("{n:fancy/%s}", bool);
@@ -23581,45 +23613,61 @@ jQuery(function ($) {
"fancy": true
</pre> </div>
<div class="content">
-<h4 id="doc_section_2_2_2_9">
+<h4 id="doc_section_2_2_2_10">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_9">2.2.2.9</a> </div>
+<a href="#doc_section_2_2_2_10">2.2.2.10</a> </div>
<a id="plural-modifier" href="#plural-modifier">The Plural Modifier ({p:})</a>
</h4>
-<p id="doc_section_2_2_2_9_p_1">The plural modifier selects the appropriate plural form of an expression based on the most recent number emitted and the current language settings. The contents of the field should be the singular and plural English values, separated by a comma:</p>
-<div id="doc_figure_u.57"></div> <pre>
+<p id="doc_section_2_2_2_10_p_1">The plural modifier selects the appropriate plural form of an expression based on the most recent number emitted and the current language settings. The contents of the field should be the singular and plural English values, separated by a comma:</p>
+<div id="doc_figure_u.58"></div> <pre>
xo_emit("{:bytes} {Ngp:byte,bytes}\n", bytes);
- </pre> <p id="doc_section_2_2_2_9_p_3">The plural modifier is meant to work with the gettext modifier ({g:}) but can work independently. See <a href="#gettext-modifier" title="The Gettext Modifier ({g:})">Section 2.2.2.4</a>.</p>
-<p id="doc_section_2_2_2_9_p_4">When used without the gettext modifier or when the message does not appear in the message catalog, the first token is chosen when the last numeric value is equal to 1; otherwise the second value is used, mimicking the simple pluralization rules of English.</p>
-<p id="doc_section_2_2_2_9_p_5">When used with the gettext modifier, the ngettext(3) function is called to handle the heavy lifting, using the message catalog to convert the singular and plural forms into the native language.</p>
+ </pre> <p id="doc_section_2_2_2_10_p_3">The plural modifier is meant to work with the gettext modifier ({g:}) but can work independently. See <a href="#gettext-modifier" title="The Gettext Modifier ({g:})">Section 2.2.2.5</a>.</p>
+<p id="doc_section_2_2_2_10_p_4">When used without the gettext modifier or when the message does not appear in the message catalog, the first token is chosen when the last numeric value is equal to 1; otherwise the second value is used, mimicking the simple pluralization rules of English.</p>
+<p id="doc_section_2_2_2_10_p_5">When used with the gettext modifier, the ngettext(3) function is called to handle the heavy lifting, using the message catalog to convert the singular and plural forms into the native language.</p>
</div>
<div class="content">
-<h4 id="doc_section_2_2_2_10">
+<h4 id="doc_section_2_2_2_11">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_10">2.2.2.10</a> </div>
+<a href="#doc_section_2_2_2_11">2.2.2.11</a> </div>
<a id="the-quotes-modifier-q" href="#the-quotes-modifier-q">The Quotes Modifier ({q:})</a>
</h4>
-<p id="doc_section_2_2_2_10_p_1">The quotes modifier (and its twin, the 'no‑quotes' modifier) affect the quoting of values in the JSON output style. JSON uses quotes for string value, but no quotes for numeric, boolean, and null data. xo_emit applies a simple heuristic to determine whether quotes are needed, but often this needs to be controlled by the caller.</p>
-<div id="doc_figure_u.58"></div> <pre>
+<p id="doc_section_2_2_2_11_p_1">The quotes modifier (and its twin, the 'no‑quotes' modifier) affect the quoting of values in the JSON output style. JSON uses quotes for string value, but no quotes for numeric, boolean, and null data. xo_emit applies a simple heuristic to determine whether quotes are needed, but often this needs to be controlled by the caller.</p>
+<div id="doc_figure_u.59"></div> <pre>
EXAMPLE:
xo_emit("{q:time/%d}", 2014);
JSON:
"year": "2014"
+ </pre> <p id="doc_section_2_2_2_11_p_3">The heuristic is based on the format; if the format uses any of the following conversion specifiers, then no quotes are used:</p>
+<div id="doc_figure_u.60"></div> <pre>
+ d i o u x X D O U e E f F g G a A c C p
</pre> </div>
<div class="content">
-<h4 id="doc_section_2_2_2_11">
+<h4 id="doc_section_2_2_2_12">
<div class="self-section-number">
-<a href="#doc_section_2_2_2_11">2.2.2.11</a> </div>
+<a href="#doc_section_2_2_2_12">2.2.2.12</a> </div>
+<a id="the-trim-modifier-t" href="#the-trim-modifier-t">The Trim Modifier ({t:})</a>
+</h4>
+<p id="doc_section_2_2_2_12_p_1">The trim modifier removes any leading or trailing whitespace from the value.</p>
+<div id="doc_figure_u.61"></div> <pre>
+ EXAMPLE:
+ xo_emit("{t:description}", " some input ");
+ JSON:
+ "description": "some input"
+ </pre> </div>
+<div class="content">
+<h4 id="doc_section_2_2_2_13">
+<div class="self-section-number">
+<a href="#doc_section_2_2_2_13">2.2.2.13</a> </div>
<a id="the-white-space-modifier-w" href="#the-white-space-modifier-w">The White Space Modifier ({w:})</a>
</h4>
-<p id="doc_section_2_2_2_11_p_1">The white space modifier appends a single space to the data value:</p>
-<div id="doc_figure_u.59"></div> <pre>
+<p id="doc_section_2_2_2_13_p_1">The white space modifier appends a single space to the data value:</p>
+<div id="doc_figure_u.62"></div> <pre>
EXAMPLE:
xo_emit("{Lw:Name}{:name}\n", "phil");
TEXT:
Name phil
- </pre> <p id="doc_section_2_2_2_11_p_3">The white space modifier is only used for the TEXT and HTML output styles. It is commonly combined with the colon modifier ('{c:}'). It is purely a convenience feature.</p>
-<p id="doc_section_2_2_2_11_p_4">Note that the sense of the 'w' modifier is reversed for the units role ({Uw:}); a blank is added before the contents, rather than after it.</p>
+ </pre> <p id="doc_section_2_2_2_13_p_3">The white space modifier is only used for the TEXT and HTML output styles. It is commonly combined with the colon modifier ('{c:}'). It is purely a convenience feature.</p>
+<p id="doc_section_2_2_2_13_p_4">Note that the sense of the 'w' modifier is reversed for the units role ({Uw:}); a blank is added before the contents, rather than after it.</p>
</div>
</div>
<div class="content">
@@ -23632,7 +23680,7 @@ jQuery(function ($) {
<p id="doc_section_2_2_3_p_2">If the format string is not provided for a value field, it defaults to "%s".</p>
<p id="doc_section_2_2_3_p_3">Note a field definition can contain zero or more printf-style 'directives', which are sequences that start with a '%' and end with one of following characters: "diouxXDOUeEfFgGaAcCsSp". Each directive is matched by one of more arguments to the xo_emit function.</p>
<p id="doc_section_2_2_3_p_4">The format string has the form:</p>
-<div id="doc_figure_u.60"></div> <pre>
+<div id="doc_figure_u.63"></div> <pre>
'%' format-modifier * format-character
</pre> <p id="doc_section_2_2_3_p_6">The format- modifier can be:</p>
<p id="doc_section_2_2_3_p_7"> </p>
@@ -23829,8 +23877,42 @@ jQuery(function ($) {
<a id="utf-8-and-locale-strings" href="#utf-8-and-locale-strings">UTF-8 and Locale Strings</a>
</h3>
<p id="doc_section_2_2_4_p_1">For strings, the 'h' and 'l' modifiers affect the interpretation of the bytes pointed to argument. The default '%s' string is a 'char *' pointer to a string encoded as UTF-8. Since UTF-8 is compatible with ASCII data, a normal 7-bit ASCII string can be used. '%ls' expects a 'wchar_t *' pointer to a wide-character string, encoded as a 32-bit Unicode values. '%hs' expects a 'char *' pointer to a multi-byte string encoded with the current locale, as given by the LC_CTYPE, LANG, or LC_ALL environment varibles. The first of this list of variables is used and if none of the variables are set, the locale defaults to "UTF‑8".</p>
-<p id="doc_section_2_2_4_p_2">For example, a function is passed a locale-base name, a hat size, and a time value. The hat size is formatted in a UTF-8 (ASCII) string, and the time value is formatted into a wchar_t string.</p>
-<div id="doc_figure_u.61"></div> <pre>
+<p id="doc_section_2_2_4_p_2">libxo will convert these arguments as needed to either UTF-8 (for XML, JSON, and HTML styles) or locale-based strings for display in text style.</p>
+<div id="doc_figure_u.64"></div> <pre>
+ xo_emit("Alll strings are utf-8 content {:tag/%ls}",
+ L"except for wide strings");
+ </pre> <p id="doc_section_2_2_4_p_4">"%S" is equivalent to "%ls".</p>
+<div id="doc_table_u.7"><table summary="" class="tt full" cellpadding="3" cellspacing="0">
+<thead><tr>
+<th class="left">Format</th>
+<th class="left">Argument Type</th>
+<th class="left">Argument Contents</th>
+</tr></thead>
+<tbody>
+<tr>
+<td>%s</td>
+<td>const char *</td>
+<td>UTF-8 string</td>
+</tr>
+<tr>
+<td>%S</td>
+<td>const char *</td>
+<td>UTF-8 string (alias for '%s')</td>
+</tr>
+<tr>
+<td>%ls</td>
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-projects
mailing list