PERFORCE change 58440 for review
Doug Rabson
dfr at FreeBSD.org
Thu Jul 29 04:26:19 PDT 2004
http://perforce.freebsd.org/chv.cgi?CH=58440
Change 58440 by dfr at dfr_home on 2004/07/29 11:25:13
IFC 58433
Affected files ...
.. //depot/projects/kse/include/string.h#4 integrate
.. //depot/projects/kse/include/strings.h#5 integrate
.. //depot/projects/kse/include/wchar.h#14 integrate
.. //depot/projects/kse/lib/libc/amd64/gen/signalcontext.c#3 integrate
.. //depot/projects/kse/lib/libc/gen/Makefile.inc#9 integrate
.. //depot/projects/kse/lib/libc/gen/fnmatch.c#2 integrate
.. //depot/projects/kse/lib/libc/gen/ftw.c#2 integrate
.. //depot/projects/kse/lib/libc/gen/getnetgrent.c#3 integrate
.. //depot/projects/kse/lib/libc/gen/glob.3#4 integrate
.. //depot/projects/kse/lib/libc/gen/glob.c#3 integrate
.. //depot/projects/kse/lib/libc/gen/wordexp.3#4 integrate
.. //depot/projects/kse/lib/libc/locale/mblen.c#6 integrate
.. //depot/projects/kse/lib/libc/locale/mbtowc.c#7 integrate
.. //depot/projects/kse/lib/libc/locale/rune.c#4 integrate
.. //depot/projects/kse/lib/libc/locale/runetype.c#5 integrate
.. //depot/projects/kse/lib/libc/locale/table.c#6 integrate
.. //depot/projects/kse/lib/libc/locale/tolower.c#5 integrate
.. //depot/projects/kse/lib/libc/locale/toupper.c#5 integrate
.. //depot/projects/kse/lib/libc/locale/utf8.c#6 integrate
.. //depot/projects/kse/lib/libc/locale/wctomb.c#6 integrate
.. //depot/projects/kse/lib/libc/sparc64/fpu/fpu_implode.c#2 integrate
.. //depot/projects/kse/lib/libkvm/kvm_proc.c#27 integrate
.. //depot/projects/kse/sys/alpha/alpha/autoconf.c#11 integrate
.. //depot/projects/kse/sys/alpha/include/critical.h#3 integrate
.. //depot/projects/kse/sys/alpha/osf1/osf1_misc.c#16 integrate
.. //depot/projects/kse/sys/amd64/amd64/autoconf.c#4 integrate
.. //depot/projects/kse/sys/amd64/conf/GENERIC#5 integrate
.. //depot/projects/kse/sys/amd64/conf/GENERIC.hints#2 integrate
.. //depot/projects/kse/sys/amd64/include/critical.h#2 integrate
.. //depot/projects/kse/sys/arm/arm/pmap.c#4 integrate
.. //depot/projects/kse/sys/arm/include/critical.h#2 integrate
.. //depot/projects/kse/sys/boot/i386/boot2/boot2.c#14 integrate
.. //depot/projects/kse/sys/coda/coda_vnops.c#13 integrate
.. //depot/projects/kse/sys/compat/linux/linux_file.c#19 integrate
.. //depot/projects/kse/sys/compat/linux/linux_misc.c#24 integrate
.. //depot/projects/kse/sys/compat/linux/linux_uid16.c#12 integrate
.. //depot/projects/kse/sys/conf/NOTES#25 integrate
.. //depot/projects/kse/sys/conf/kern.pre.mk#20 integrate
.. //depot/projects/kse/sys/conf/options#34 integrate
.. //depot/projects/kse/sys/contrib/pf/net/if_pfsync.c#5 integrate
.. //depot/projects/kse/sys/contrib/pf/net/pf.c#5 integrate
.. //depot/projects/kse/sys/contrib/pf/net/pf_if.c#2 integrate
.. //depot/projects/kse/sys/contrib/pf/net/pf_norm.c#4 integrate
.. //depot/projects/kse/sys/contrib/pf/net/pf_table.c#3 integrate
.. //depot/projects/kse/sys/ddb/db_main.c#2 integrate
.. //depot/projects/kse/sys/dev/aac/aac.c#27 integrate
.. //depot/projects/kse/sys/dev/aac/aac_disk.c#17 integrate
.. //depot/projects/kse/sys/dev/acpica/acpi.c#34 integrate
.. //depot/projects/kse/sys/dev/acpica/acpi_video.c#5 integrate
.. //depot/projects/kse/sys/dev/ata/ata-lowlevel.c#4 integrate
.. //depot/projects/kse/sys/dev/bge/if_bge.c#19 integrate
.. //depot/projects/kse/sys/dev/ciss/ciss.c#9 integrate
.. //depot/projects/kse/sys/dev/ciss/cissio.h#3 integrate
.. //depot/projects/kse/sys/dev/ciss/cissreg.h#5 integrate
.. //depot/projects/kse/sys/dev/digi/digi.c#16 integrate
.. //depot/projects/kse/sys/dev/fdc/fdc_acpi.c#2 integrate
.. //depot/projects/kse/sys/dev/firewire/firewire.c#7 integrate
.. //depot/projects/kse/sys/dev/pccbb/pccbb.c#27 integrate
.. //depot/projects/kse/sys/dev/pccbb/pccbbdevid.h#9 integrate
.. //depot/projects/kse/sys/dev/scd/scd.c#4 integrate
.. //depot/projects/kse/sys/dev/si/si.c#10 integrate
.. //depot/projects/kse/sys/dev/sio/sio.c#24 integrate
.. //depot/projects/kse/sys/dev/sound/pci/emu10k1.c#9 integrate
.. //depot/projects/kse/sys/dev/syscons/syscons.c#22 integrate
.. //depot/projects/kse/sys/dev/syscons/syscons.h#10 integrate
.. //depot/projects/kse/sys/dev/uart/uart_dev_ns8250.c#5 integrate
.. //depot/projects/kse/sys/dev/usb/uhub.c#15 integrate
.. //depot/projects/kse/sys/fs/devfs/devfs_vnops.c#21 integrate
.. //depot/projects/kse/sys/fs/hpfs/hpfs_vfsops.c#15 integrate
.. //depot/projects/kse/sys/fs/hpfs/hpfs_vnops.c#15 integrate
.. //depot/projects/kse/sys/fs/msdosfs/msdosfs_vfsops.c#15 integrate
.. //depot/projects/kse/sys/fs/msdosfs/msdosfs_vnops.c#14 integrate
.. //depot/projects/kse/sys/fs/ntfs/ntfs_subr.c#11 integrate
.. //depot/projects/kse/sys/fs/ntfs/ntfs_vfsops.c#16 integrate
.. //depot/projects/kse/sys/fs/smbfs/smbfs_vnops.c#15 integrate
.. //depot/projects/kse/sys/geom/concat/g_concat.c#4 integrate
.. //depot/projects/kse/sys/geom/concat/g_concat.h#4 integrate
.. //depot/projects/kse/sys/geom/geom_slice.c#9 integrate
.. //depot/projects/kse/sys/geom/nop/g_nop.c#4 integrate
.. //depot/projects/kse/sys/geom/stripe/g_stripe.c#3 integrate
.. //depot/projects/kse/sys/geom/stripe/g_stripe.h#3 integrate
.. //depot/projects/kse/sys/geom/vinum/geom_vinum.c#3 integrate
.. //depot/projects/kse/sys/geom/vinum/geom_vinum_drive.c#3 integrate
.. //depot/projects/kse/sys/geom/vinum/geom_vinum_init.c#2 integrate
.. //depot/projects/kse/sys/gnu/ext2fs/ext2_vfsops.c#15 integrate
.. //depot/projects/kse/sys/gnu/ext2fs/ext2_vnops.c#12 integrate
.. //depot/projects/kse/sys/i386/acpica/acpi_asus.c#4 integrate
.. //depot/projects/kse/sys/i386/acpica/acpi_machdep.c#7 integrate
.. //depot/projects/kse/sys/i386/acpica/acpi_panasonic.c#2 integrate
.. //depot/projects/kse/sys/i386/acpica/acpi_wakeup.c#12 integrate
.. //depot/projects/kse/sys/i386/acpica/genwakecode.sh#2 integrate
.. //depot/projects/kse/sys/i386/i386/autoconf.c#15 integrate
.. //depot/projects/kse/sys/i386/include/critical.h#4 integrate
.. //depot/projects/kse/sys/ia64/ia64/autoconf.c#9 integrate
.. //depot/projects/kse/sys/ia64/ia64/sal.c#10 integrate
.. //depot/projects/kse/sys/ia64/include/critical.h#3 integrate
.. //depot/projects/kse/sys/isofs/cd9660/cd9660_vfsops.c#14 integrate
.. //depot/projects/kse/sys/kern/init_main.c#53 integrate
.. //depot/projects/kse/sys/kern/kern_acl.c#20 integrate
.. //depot/projects/kse/sys/kern/kern_descrip.c#44 integrate
.. //depot/projects/kse/sys/kern/kern_event.c#18 integrate
.. //depot/projects/kse/sys/kern/kern_exec.c#45 integrate
.. //depot/projects/kse/sys/kern/kern_exit.c#69 integrate
.. //depot/projects/kse/sys/kern/kern_fork.c#86 integrate
.. //depot/projects/kse/sys/kern/kern_idle.c#21 integrate
.. //depot/projects/kse/sys/kern/kern_ktr.c#11 integrate
.. //depot/projects/kse/sys/kern/kern_ktrace.c#20 integrate
.. //depot/projects/kse/sys/kern/kern_lock.c#17 integrate
.. //depot/projects/kse/sys/kern/kern_mutex.c#39 integrate
.. //depot/projects/kse/sys/kern/kern_prot.c#38 integrate
.. //depot/projects/kse/sys/kern/kern_resource.c#30 integrate
.. //depot/projects/kse/sys/kern/kern_switch.c#72 integrate
.. //depot/projects/kse/sys/kern/kern_synch.c#85 integrate
.. //depot/projects/kse/sys/kern/kern_sysctl.c#20 integrate
.. //depot/projects/kse/sys/kern/kern_xxx.c#10 integrate
.. //depot/projects/kse/sys/kern/sched_4bsd.c#5 integrate
.. //depot/projects/kse/sys/kern/sched_ule.c#6 integrate
.. //depot/projects/kse/sys/kern/subr_turnstile.c#4 integrate
.. //depot/projects/kse/sys/kern/subr_witness.c#37 integrate
.. //depot/projects/kse/sys/kern/sys_pipe.c#19 integrate
.. //depot/projects/kse/sys/kern/sys_process.c#36 integrate
.. //depot/projects/kse/sys/kern/sys_socket.c#15 integrate
.. //depot/projects/kse/sys/kern/sysv_shm.c#17 integrate
.. //depot/projects/kse/sys/kern/uipc_jumbo.c#5 integrate
.. //depot/projects/kse/sys/kern/uipc_socket.c#28 integrate
.. //depot/projects/kse/sys/kern/uipc_usrreq.c#27 integrate
.. //depot/projects/kse/sys/kern/vfs_aio.c#33 integrate
.. //depot/projects/kse/sys/kern/vfs_bio.c#29 integrate
.. //depot/projects/kse/sys/kern/vfs_cluster.c#14 integrate
.. //depot/projects/kse/sys/kern/vfs_init.c#10 integrate
.. //depot/projects/kse/sys/kern/vfs_mount.c#8 integrate
.. //depot/projects/kse/sys/kern/vfs_subr.c#51 integrate
.. //depot/projects/kse/sys/kern/vfs_syscalls.c#43 integrate
.. //depot/projects/kse/sys/kern/vfs_vnops.c#37 integrate
.. //depot/projects/kse/sys/libkern/iconv.c#4 integrate
.. //depot/projects/kse/sys/net/bpf.c#19 integrate
.. //depot/projects/kse/sys/net/if.c#26 integrate
.. //depot/projects/kse/sys/net/if.h#17 integrate
.. //depot/projects/kse/sys/net/if_ef.c#9 integrate
.. //depot/projects/kse/sys/net/if_ethersubr.c#25 integrate
.. //depot/projects/kse/sys/net/if_loop.c#13 integrate
.. //depot/projects/kse/sys/net/if_var.h#20 integrate
.. //depot/projects/kse/sys/net/if_vlan.c#12 integrate
.. //depot/projects/kse/sys/net/route.c#9 integrate
.. //depot/projects/kse/sys/net/route.h#12 integrate
.. //depot/projects/kse/sys/net80211/ieee80211_output.c#3 integrate
.. //depot/projects/kse/sys/net80211/ieee80211_proto.c#3 integrate
.. //depot/projects/kse/sys/netatm/spans/spans_kxdr.c#6 integrate
.. //depot/projects/kse/sys/netgraph/atm/ng_atm.c#4 integrate
.. //depot/projects/kse/sys/netgraph/netgraph.h#8 integrate
.. //depot/projects/kse/sys/netgraph/ng_base.c#14 integrate
.. //depot/projects/kse/sys/netgraph/ng_ether.c#13 integrate
.. //depot/projects/kse/sys/netgraph/ng_fec.c#5 integrate
.. //depot/projects/kse/sys/netgraph/ng_gif.c#7 integrate
.. //depot/projects/kse/sys/netgraph/ng_parse.c#12 integrate
.. //depot/projects/kse/sys/netgraph/ng_pppoe.c#13 integrate
.. //depot/projects/kse/sys/netgraph/ng_pppoe.h#6 integrate
.. //depot/projects/kse/sys/netgraph/ng_sample.c#6 integrate
.. //depot/projects/kse/sys/netgraph/ng_socket.c#16 integrate
.. //depot/projects/kse/sys/netinet/in_pcb.c#26 integrate
.. //depot/projects/kse/sys/netinet/raw_ip.c#23 integrate
.. //depot/projects/kse/sys/netinet/tcp_output.c#19 integrate
.. //depot/projects/kse/sys/netinet/tcp_subr.c#27 integrate
.. //depot/projects/kse/sys/netinet/tcp_usrreq.c#18 integrate
.. //depot/projects/kse/sys/netinet/udp_usrreq.c#24 integrate
.. //depot/projects/kse/sys/netinet6/in6_pcb.c#21 integrate
.. //depot/projects/kse/sys/netinet6/raw_ip6.c#15 integrate
.. //depot/projects/kse/sys/netinet6/udp6_usrreq.c#18 integrate
.. //depot/projects/kse/sys/netipx/ipx_cksum.c#3 integrate
.. //depot/projects/kse/sys/netsmb/smb_conn.c#6 integrate
.. //depot/projects/kse/sys/nfs4client/nfs4_vnops.c#3 integrate
.. //depot/projects/kse/sys/nfsclient/bootp_subr.c#14 integrate
.. //depot/projects/kse/sys/nfsclient/nfs_diskless.c#4 integrate
.. //depot/projects/kse/sys/nfsclient/nfs_vfsops.c#19 integrate
.. //depot/projects/kse/sys/nfsclient/nfs_vnops.c#16 integrate
.. //depot/projects/kse/sys/nfsserver/nfs_srvsock.c#13 integrate
.. //depot/projects/kse/sys/nfsserver/nfs_srvsubs.c#14 integrate
.. //depot/projects/kse/sys/opencrypto/cryptodev.c#5 integrate
.. //depot/projects/kse/sys/pc98/pc98/sio.c#24 integrate
.. //depot/projects/kse/sys/powerpc/include/critical.h#4 integrate
.. //depot/projects/kse/sys/powerpc/include/db_machdep.h#7 integrate
.. //depot/projects/kse/sys/powerpc/include/kdb.h#2 integrate
.. //depot/projects/kse/sys/powerpc/powerpc/db_interface.c#4 integrate
.. //depot/projects/kse/sys/powerpc/powerpc/elf_machdep.c#9 integrate
.. //depot/projects/kse/sys/powerpc/powerpc/locore.S#4 integrate
.. //depot/projects/kse/sys/powerpc/powerpc/machdep.c#29 integrate
.. //depot/projects/kse/sys/powerpc/powerpc/pmap.c#26 integrate
.. //depot/projects/kse/sys/powerpc/powerpc/trap_subr.S#8 integrate
.. //depot/projects/kse/sys/security/mac_biba/mac_biba.c#8 integrate
.. //depot/projects/kse/sys/security/mac_bsdextended/mac_bsdextended.c#4 integrate
.. //depot/projects/kse/sys/security/mac_lomac/mac_lomac.c#4 integrate
.. //depot/projects/kse/sys/security/mac_mls/mac_mls.c#8 integrate
.. //depot/projects/kse/sys/sparc64/include/critical.h#3 integrate
.. //depot/projects/kse/sys/sparc64/sparc64/pmap.c#41 integrate
.. //depot/projects/kse/sys/sys/_task.h#2 integrate
.. //depot/projects/kse/sys/sys/buf.h#19 integrate
.. //depot/projects/kse/sys/sys/cdefs.h#23 integrate
.. //depot/projects/kse/sys/sys/linker_set.h#6 integrate
.. //depot/projects/kse/sys/sys/mount.h#20 integrate
.. //depot/projects/kse/sys/sys/param.h#31 integrate
.. //depot/projects/kse/sys/sys/proc.h#141 integrate
.. //depot/projects/kse/sys/sys/sysctl.h#16 integrate
.. //depot/projects/kse/sys/sys/systm.h#36 integrate
.. //depot/projects/kse/sys/ufs/ffs/ffs_alloc.c#19 integrate
.. //depot/projects/kse/sys/ufs/ffs/ffs_inode.c#15 integrate
.. //depot/projects/kse/sys/ufs/ffs/ffs_snapshot.c#19 integrate
.. //depot/projects/kse/sys/ufs/ffs/ffs_softdep.c#19 integrate
.. //depot/projects/kse/sys/ufs/ffs/ffs_vfsops.c#30 integrate
.. //depot/projects/kse/sys/ufs/ffs/ffs_vnops.c#15 integrate
.. //depot/projects/kse/sys/ufs/ufs/inode.h#8 integrate
.. //depot/projects/kse/sys/ufs/ufs/ufs_acl.c#13 integrate
.. //depot/projects/kse/sys/ufs/ufs/ufs_inode.c#13 integrate
.. //depot/projects/kse/sys/ufs/ufs/ufs_lookup.c#16 integrate
.. //depot/projects/kse/sys/ufs/ufs/ufs_quota.c#16 integrate
.. //depot/projects/kse/sys/ufs/ufs/ufs_vnops.c#22 integrate
.. //depot/projects/kse/sys/vm/swap_pager.c#17 integrate
.. //depot/projects/kse/sys/vm/uma_core.c#20 integrate
.. //depot/projects/kse/sys/vm/vm_extern.h#19 integrate
.. //depot/projects/kse/sys/vm/vm_glue.c#44 integrate
.. //depot/projects/kse/sys/vm/vm_kern.c#16 integrate
.. //depot/projects/kse/sys/vm/vm_map.c#32 integrate
.. //depot/projects/kse/sys/vm/vm_map.h#22 integrate
.. //depot/projects/kse/sys/vm/vm_object.c#22 integrate
.. //depot/projects/kse/sys/vm/vm_object.h#12 integrate
.. //depot/projects/kse/tools/regression/fsx/fsx.c#2 integrate
.. //depot/projects/kse/tools/regression/geom_concat/test-1.sh#2 integrate
.. //depot/projects/kse/tools/regression/geom_concat/test-2.sh#2 integrate
.. //depot/projects/kse/tools/regression/geom_stripe/test-1.sh#2 integrate
.. //depot/projects/kse/tools/regression/geom_stripe/test-2.sh#2 integrate
.. //depot/projects/kse/tools/regression/sockets/accf_data_attach/Makefile#1 branch
.. //depot/projects/kse/tools/regression/sockets/accf_data_attach/accf_data_attach.c#1 branch
Differences ...
==== //depot/projects/kse/include/string.h#4 (text+ko) ====
@@ -31,7 +31,7 @@
* SUCH DAMAGE.
*
* @(#)string.h 8.1 (Berkeley) 6/2/93
- * $FreeBSD: src/include/string.h,v 1.19 2003/12/07 21:10:06 marcel Exp $
+ * $FreeBSD: src/include/string.h,v 1.20 2004/07/23 02:20:05 tjr Exp $
*/
#ifndef _STRING_H_
@@ -58,21 +58,21 @@
#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE
void *memccpy(void * __restrict, const void * __restrict, int, size_t);
#endif
-void *memchr(const void *, int, size_t);
-int memcmp(const void *, const void *, size_t);
+void *memchr(const void *, int, size_t) __pure;
+int memcmp(const void *, const void *, size_t) __pure;
void *memcpy(void * __restrict, const void * __restrict, size_t);
void *memmove(void *, const void *, size_t);
void *memset(void *, int, size_t);
#if __BSD_VISIBLE
char *stpcpy(char *, const char *);
-char *strcasestr(const char *, const char *);
+char *strcasestr(const char *, const char *) __pure;
#endif
char *strcat(char * __restrict, const char * __restrict);
-char *strchr(const char *, int);
-int strcmp(const char *, const char *);
+char *strchr(const char *, int) __pure;
+int strcmp(const char *, const char *) __pure;
int strcoll(const char *, const char *);
char *strcpy(char * __restrict, const char * __restrict);
-size_t strcspn(const char *, const char *);
+size_t strcspn(const char *, const char *) __pure;
#if __POSIX_VISIBLE >= 200112 || __XSI_VISIBLE
char *strdup(const char *);
#endif
@@ -84,24 +84,24 @@
size_t strlcat(char *, const char *, size_t);
size_t strlcpy(char *, const char *, size_t);
#endif
-size_t strlen(const char *);
+size_t strlen(const char *) __pure;
#if __BSD_VISIBLE
void strmode(int, char *);
#endif
char *strncat(char * __restrict, const char * __restrict, size_t);
-int strncmp(const char *, const char *, size_t);
+int strncmp(const char *, const char *, size_t) __pure;
char *strncpy(char * __restrict, const char * __restrict, size_t);
#if __BSD_VISIBLE
-char *strnstr(const char *, const char *, size_t);
+char *strnstr(const char *, const char *, size_t) __pure;
#endif
-char *strpbrk(const char *, const char *);
-char *strrchr(const char *, int);
+char *strpbrk(const char *, const char *) __pure;
+char *strrchr(const char *, int) __pure;
#if __BSD_VISIBLE
char *strsep(char **, const char *);
char *strsignal(int);
#endif
-size_t strspn(const char *, const char *);
-char *strstr(const char *, const char *);
+size_t strspn(const char *, const char *) __pure;
+char *strstr(const char *, const char *) __pure;
char *strtok(char * __restrict, const char * __restrict);
#if __POSIX_VISIBLE >= 199506 || __XSI_VISIBLE >= 500
char *strtok_r(char *, const char *, char **);
==== //depot/projects/kse/include/strings.h#5 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/include/strings.h,v 1.5 2004/07/09 13:52:42 des Exp $
+ * $FreeBSD: src/include/strings.h,v 1.6 2004/07/23 07:13:35 tjr Exp $
*/
#ifndef _STRINGS_H_
@@ -38,19 +38,19 @@
#endif
__BEGIN_DECLS
-int bcmp(const void *, const void *, size_t); /* LEGACY */
-void bcopy(const void *, void *, size_t); /* LEGACY */
-void bzero(void *, size_t); /* LEGACY */
-int ffs(int);
+int bcmp(const void *, const void *, size_t) __pure; /* LEGACY */
+void bcopy(const void *, void *, size_t); /* LEGACY */
+void bzero(void *, size_t); /* LEGACY */
+int ffs(int) __pure2;
#ifdef __BSD_VISIBLE
-int ffsl(long);
-int fls(int);
-int flsl(long);
+int ffsl(long) __pure2;
+int fls(int) __pure2;
+int flsl(long) __pure2;
#endif
-char *index(const char *, int); /* LEGACY */
-char *rindex(const char *, int); /* LEGACY */
-int strcasecmp(const char *, const char *);
-int strncasecmp(const char *, const char *, size_t);
+char *index(const char *, int) __pure; /* LEGACY */
+char *rindex(const char *, int) __pure; /* LEGACY */
+int strcasecmp(const char *, const char *) __pure;
+int strncasecmp(const char *, const char *, size_t) __pure;
__END_DECLS
#endif /* _STRINGS_H_ */
==== //depot/projects/kse/include/wchar.h#14 (text+ko) ====
@@ -23,7 +23,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/include/wchar.h,v 1.43 2004/07/21 10:54:57 tjr Exp $
+ * $FreeBSD: src/include/wchar.h,v 1.44 2004/07/23 02:29:37 tjr Exp $
*/
/*-
@@ -137,24 +137,25 @@
int vwprintf(const wchar_t * __restrict, __va_list);
size_t wcrtomb(char * __restrict, wchar_t, mbstate_t * __restrict);
wchar_t *wcscat(wchar_t * __restrict, const wchar_t * __restrict);
-wchar_t *wcschr(const wchar_t *, wchar_t);
-int wcscmp(const wchar_t *, const wchar_t *);
+wchar_t *wcschr(const wchar_t *, wchar_t) __pure;
+int wcscmp(const wchar_t *, const wchar_t *) __pure;
int wcscoll(const wchar_t *, const wchar_t *);
wchar_t *wcscpy(wchar_t * __restrict, const wchar_t * __restrict);
-size_t wcscspn(const wchar_t *, const wchar_t *);
+size_t wcscspn(const wchar_t *, const wchar_t *) __pure;
size_t wcsftime(wchar_t * __restrict, size_t, const wchar_t * __restrict,
const struct tm * __restrict);
-size_t wcslen(const wchar_t *);
+size_t wcslen(const wchar_t *) __pure;
wchar_t *wcsncat(wchar_t * __restrict, const wchar_t * __restrict,
size_t);
-int wcsncmp(const wchar_t *, const wchar_t *, size_t);
+int wcsncmp(const wchar_t *, const wchar_t *, size_t) __pure;
wchar_t *wcsncpy(wchar_t * __restrict , const wchar_t * __restrict, size_t);
-wchar_t *wcspbrk(const wchar_t *, const wchar_t *);
-wchar_t *wcsrchr(const wchar_t *, wchar_t);
+wchar_t *wcspbrk(const wchar_t *, const wchar_t *) __pure;
+wchar_t *wcsrchr(const wchar_t *, wchar_t) __pure;
size_t wcsrtombs(char * __restrict, const wchar_t ** __restrict, size_t,
mbstate_t * __restrict);
-size_t wcsspn(const wchar_t *, const wchar_t *);
-wchar_t *wcsstr(const wchar_t * __restrict, const wchar_t * __restrict);
+size_t wcsspn(const wchar_t *, const wchar_t *) __pure;
+wchar_t *wcsstr(const wchar_t * __restrict, const wchar_t * __restrict)
+ __pure;
size_t wcsxfrm(wchar_t * __restrict, const wchar_t * __restrict, size_t);
int wctob(wint_t);
double wcstod(const wchar_t * __restrict, wchar_t ** __restrict);
@@ -163,8 +164,8 @@
long wcstol(const wchar_t * __restrict, wchar_t ** __restrict, int);
unsigned long
wcstoul(const wchar_t * __restrict, wchar_t ** __restrict, int);
-wchar_t *wmemchr(const wchar_t *, wchar_t, size_t);
-int wmemcmp(const wchar_t *, const wchar_t *, size_t);
+wchar_t *wmemchr(const wchar_t *, wchar_t, size_t) __pure;
+int wmemcmp(const wchar_t *, const wchar_t *, size_t) __pure;
wchar_t *wmemcpy(wchar_t * __restrict, const wchar_t * __restrict, size_t);
wchar_t *wmemmove(wchar_t *, const wchar_t *, size_t);
wchar_t *wmemset(wchar_t *, wchar_t, size_t);
==== //depot/projects/kse/lib/libc/amd64/gen/signalcontext.c#3 (text+ko) ====
@@ -25,7 +25,7 @@
*/
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/signalcontext.c,v 1.4 2004/06/15 21:46:36 davidxu Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/amd64/gen/signalcontext.c,v 1.5 2004/07/28 13:08:24 davidxu Exp $");
#include <sys/types.h>
#include <sys/ucontext.h>
@@ -76,6 +76,8 @@
* Setup the ucontext of the signal handler.
*/
bzero(&ucp->uc_mcontext, sizeof(ucp->uc_mcontext));
+ ucp->uc_mcontext.mc_fpformat = _MC_FPFMT_NODEV;
+ ucp->uc_mcontext.mc_ownedfp = _MC_FPOWNED_NONE;
ucp->uc_link = sig_uc;
sigdelset(&ucp->uc_sigmask, sig);
==== //depot/projects/kse/lib/libc/gen/Makefile.inc#9 (text+ko) ====
@@ -1,5 +1,5 @@
# @(#)Makefile.inc 8.6 (Berkeley) 5/4/95
-# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.114 2004/07/19 08:16:10 das Exp $
+# $FreeBSD: src/lib/libc/gen/Makefile.inc,v 1.115 2004/07/25 11:17:54 tjr Exp $
# machine-independent gen sources
.PATH: ${.CURDIR}/${MACHINE_ARCH}/gen ${.CURDIR}/gen
@@ -80,6 +80,7 @@
fpclassify.3 isnormal.3
MLINKS+=fts.3 fts_children.3 fts.3 fts_close.3 fts.3 fts_open.3 \
fts.3 fts_read.3 fts.3 fts_set.3
+MLINKS+=ftw.3 nftw.3
MLINKS+=getcap.3 cgetcap.3 getcap.3 cgetclose.3 getcap.3 cgetent.3 \
getcap.3 cgetfirst.3 getcap.3 cgetmatch.3 getcap.3 cgetnext.3 \
getcap.3 cgetnum.3 getcap.3 cgetset.3 getcap.3 cgetstr.3 \
==== //depot/projects/kse/lib/libc/gen/fnmatch.c#2 (text+ko) ====
@@ -38,17 +38,29 @@
static char sccsid[] = "@(#)fnmatch.c 8.2 (Berkeley) 4/16/94";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/fnmatch.c,v 1.15 2002/02/01 01:32:19 obrien Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/fnmatch.c,v 1.16 2004/07/29 03:13:10 tjr Exp $");
/*
* Function fnmatch() as specified in POSIX 1003.2-1992, section B.6.
* Compares a filename or pathname to a pattern.
*/
-#include <ctype.h>
+/*
+ * Some notes on multibyte character support:
+ * 1. Patterns with illegal byte sequences match nothing.
+ * 2. Illegal byte sequences in the "string" argument are handled by treating
+ * them as single-byte characters with a value of the first byte of the
+ * sequence cast to wchar_t.
+ * 3. Multibyte conversion state objects (mbstate_t) are passed around and
+ * used for most, but not all, conversions. Further work will be required
+ * to support state-dependent encodings.
+ */
+
#include <fnmatch.h>
+#include <limits.h>
#include <string.h>
-#include <stdio.h>
+#include <wchar.h>
+#include <wctype.h>
#include "collate.h"
@@ -58,33 +70,57 @@
#define RANGE_NOMATCH 0
#define RANGE_ERROR (-1)
-static int rangematch(const char *, char, int, char **);
+static int rangematch(const char *, wchar_t, int, char **, mbstate_t *);
+static int fnmatch1(const char *, const char *, int, mbstate_t, mbstate_t);
int
fnmatch(pattern, string, flags)
const char *pattern, *string;
int flags;
{
+ static const mbstate_t initial;
+
+ return (fnmatch1(pattern, string, flags, initial, initial));
+}
+
+static int
+fnmatch1(pattern, string, flags, patmbs, strmbs)
+ const char *pattern, *string;
+ int flags;
+ mbstate_t patmbs, strmbs;
+{
const char *stringstart;
char *newp;
- char c, test;
+ char c;
+ wchar_t pc, sc;
+ size_t pclen, sclen;
- for (stringstart = string;;)
- switch (c = *pattern++) {
+ for (stringstart = string;;) {
+ pclen = mbrtowc(&pc, pattern, MB_LEN_MAX, &patmbs);
+ if (pclen == (size_t)-1 || pclen == (size_t)-2)
+ return (FNM_NOMATCH);
+ pattern += pclen;
+ sclen = mbrtowc(&sc, string, MB_LEN_MAX, &strmbs);
+ if (sclen == (size_t)-1 || sclen == (size_t)-2) {
+ sc = (unsigned char)*string;
+ sclen = 1;
+ memset(&strmbs, 0, sizeof(strmbs));
+ }
+ switch (pc) {
case EOS:
- if ((flags & FNM_LEADING_DIR) && *string == '/')
+ if ((flags & FNM_LEADING_DIR) && sc == '/')
return (0);
- return (*string == EOS ? 0 : FNM_NOMATCH);
+ return (sc == EOS ? 0 : FNM_NOMATCH);
case '?':
- if (*string == EOS)
+ if (sc == EOS)
return (FNM_NOMATCH);
- if (*string == '/' && (flags & FNM_PATHNAME))
+ if (sc == '/' && (flags & FNM_PATHNAME))
return (FNM_NOMATCH);
- if (*string == '.' && (flags & FNM_PERIOD) &&
+ if (sc == '.' && (flags & FNM_PERIOD) &&
(string == stringstart ||
((flags & FNM_PATHNAME) && *(string - 1) == '/')))
return (FNM_NOMATCH);
- ++string;
+ string += sclen;
break;
case '*':
c = *pattern;
@@ -92,7 +128,7 @@
while (c == '*')
c = *++pattern;
- if (*string == '.' && (flags & FNM_PERIOD) &&
+ if (sc == '.' && (flags & FNM_PERIOD) &&
(string == stringstart ||
((flags & FNM_PATHNAME) && *(string - 1) == '/')))
return (FNM_NOMATCH);
@@ -112,25 +148,35 @@
}
/* General case, use recursion. */
- while ((test = *string) != EOS) {
- if (!fnmatch(pattern, string, flags & ~FNM_PERIOD))
+ while (sc != EOS) {
+ if (!fnmatch1(pattern, string,
+ flags & ~FNM_PERIOD, patmbs, strmbs))
return (0);
- if (test == '/' && flags & FNM_PATHNAME)
+ sclen = mbrtowc(&sc, string, MB_LEN_MAX,
+ &strmbs);
+ if (sclen == (size_t)-1 ||
+ sclen == (size_t)-2) {
+ sc = (unsigned char)*string;
+ sclen = 1;
+ memset(&strmbs, 0, sizeof(strmbs));
+ }
+ if (sc == '/' && flags & FNM_PATHNAME)
break;
- ++string;
+ string += sclen;
}
return (FNM_NOMATCH);
case '[':
- if (*string == EOS)
+ if (sc == EOS)
return (FNM_NOMATCH);
- if (*string == '/' && (flags & FNM_PATHNAME))
+ if (sc == '/' && (flags & FNM_PATHNAME))
return (FNM_NOMATCH);
- if (*string == '.' && (flags & FNM_PERIOD) &&
+ if (sc == '.' && (flags & FNM_PERIOD) &&
(string == stringstart ||
((flags & FNM_PATHNAME) && *(string - 1) == '/')))
return (FNM_NOMATCH);
- switch (rangematch(pattern, *string, flags, &newp)) {
+ switch (rangematch(pattern, sc, flags, &newp,
+ &patmbs)) {
case RANGE_ERROR:
goto norm;
case RANGE_MATCH:
@@ -139,41 +185,47 @@
case RANGE_NOMATCH:
return (FNM_NOMATCH);
}
- ++string;
+ string += sclen;
break;
case '\\':
if (!(flags & FNM_NOESCAPE)) {
- if ((c = *pattern++) == EOS) {
- c = '\\';
- --pattern;
- }
+ pclen = mbrtowc(&pc, pattern, MB_LEN_MAX,
+ &patmbs);
+ if (pclen == (size_t)-1 || pclen == (size_t)-2)
+ return (FNM_NOMATCH);
+ if (pclen == 0)
+ pc = '\\';
+ pattern += pclen;
}
/* FALLTHROUGH */
default:
norm:
- if (c == *string)
+ if (pc == sc)
;
else if ((flags & FNM_CASEFOLD) &&
- (tolower((unsigned char)c) ==
- tolower((unsigned char)*string)))
+ (towlower(pc) == towlower(sc)))
;
else
return (FNM_NOMATCH);
- string++;
+ string += sclen;
break;
}
+ }
/* NOTREACHED */
}
static int
-rangematch(pattern, test, flags, newp)
+rangematch(pattern, test, flags, newp, patmbs)
const char *pattern;
- char test;
+ wchar_t test;
int flags;
char **newp;
+ mbstate_t *patmbs;
{
int negate, ok;
- char c, c2;
+ wchar_t c, c2;
+ size_t pclen;
+ const char *origpat;
/*
* A bracket expression starting with an unquoted circumflex
@@ -186,7 +238,7 @@
++pattern;
if (flags & FNM_CASEFOLD)
- test = tolower((unsigned char)test);
+ test = towlower(test);
/*
* A right bracket shall lose its special meaning and represent
@@ -194,29 +246,40 @@
* -- POSIX.2 2.8.3.2
*/
ok = 0;
- c = *pattern++;
- do {
- if (c == '\\' && !(flags & FNM_NOESCAPE))
- c = *pattern++;
- if (c == EOS)
+ origpat = pattern;
+ for (;;) {
+ if (*pattern == ']' && pattern > origpat) {
+ pattern++;
+ break;
+ } else if (*pattern == '\0') {
return (RANGE_ERROR);
-
- if (c == '/' && (flags & FNM_PATHNAME))
+ } else if (*pattern == '/' && (flags & FNM_PATHNAME)) {
+ pattern++;
+ return (RANGE_NOMATCH);
+ } else if (*pattern == '\\' && !(flags & FNM_NOESCAPE))
+ pattern++;
+ pclen = mbrtowc(&c, pattern, MB_LEN_MAX, patmbs);
+ if (pclen == (size_t)-1 || pclen == (size_t)-2)
return (RANGE_NOMATCH);
+ pattern += pclen;
if (flags & FNM_CASEFOLD)
- c = tolower((unsigned char)c);
+ c = towlower(c);
- if (*pattern == '-'
- && (c2 = *(pattern+1)) != EOS && c2 != ']') {
- pattern += 2;
- if (c2 == '\\' && !(flags & FNM_NOESCAPE))
- c2 = *pattern++;
+ if (*pattern == '-' && *(pattern + 1) != EOS &&
+ *(pattern + 1) != ']') {
+ if (*++pattern == '\\' && !(flags & FNM_NOESCAPE))
+ if (*pattern != EOS)
+ pattern++;
+ pclen = mbrtowc(&c2, pattern, MB_LEN_MAX, patmbs);
+ if (pclen == (size_t)-1 || pclen == (size_t)-2)
+ return (RANGE_NOMATCH);
+ pattern += pclen;
if (c2 == EOS)
return (RANGE_ERROR);
if (flags & FNM_CASEFOLD)
- c2 = tolower((unsigned char)c2);
+ c2 = towlower(c2);
if (__collate_load_error ?
c <= test && test <= c2 :
@@ -226,7 +289,7 @@
ok = 1;
} else if (c == test)
ok = 1;
- } while ((c = *pattern++) != ']');
+ }
*newp = (char *)pattern;
return (ok == negate ? RANGE_NOMATCH : RANGE_MATCH);
==== //depot/projects/kse/lib/libc/gen/ftw.c#2 (text+ko) ====
@@ -26,7 +26,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * $FreeBSD: src/lib/libc/gen/ftw.c,v 1.1 2004/07/05 23:13:16 das Exp $
+ * $FreeBSD: src/lib/libc/gen/ftw.c,v 1.2 2004/07/23 06:01:00 das Exp $
*/
#include <sys/types.h> /* Because fts(3) says so */
@@ -78,7 +78,6 @@
const char *paths[2];
int ftw_flag, func_ret;
struct FTW ftw_st;
- int skip_entry;
__ftw_func_t ftw_func;
__nftw_func_t nftw_func;
int saved_errno;
@@ -120,15 +119,11 @@
/* The main loop. Is it not nifty? Worship the loop. */
while ((entry = fts_read(hierarchy))) {
- skip_entry = 0;
-
switch (entry->fts_info) {
case FTS_D:
if ((MODE_NFTW != mode) || !(flags & FTW_DEPTH)) {
ftw_flag = FTW_D;
- } else {
- skip_entry = 1;
}
break;
@@ -161,8 +156,6 @@
case FTS_DP:
if ((MODE_NFTW == mode) && (flags & FTW_DEPTH)) {
ftw_flag = FTW_D;
- } else {
- skip_entry = 1;
}
break;
@@ -171,8 +164,7 @@
* type to call with, so cowardice seems the better part of
* guessing.
*/
-
- skip_entry = 1;
+ break;
}
if (MODE_FTW == mode) {
==== //depot/projects/kse/lib/libc/gen/getnetgrent.c#3 (text+ko) ====
@@ -38,7 +38,7 @@
static char sccsid[] = "@(#)getnetgrent.c 8.2 (Berkeley) 4/27/95";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/getnetgrent.c,v 1.30 2003/01/03 23:55:58 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/getnetgrent.c,v 1.31 2004/07/28 11:56:03 des Exp $");
#include <ctype.h>
#include <stdio.h>
@@ -136,10 +136,13 @@
(char *)0,
};
static FILE *netf = (FILE *)0;
-static int parse_netgrp();
-static struct linelist *read_for_group();
-void setnetgrent(), endnetgrent();
-int getnetgrent(), innetgr();
+
+static int parse_netgrp(const char *);
+static struct linelist *read_for_group(const char *);
+void setnetgrent(const char *);
+void endnetgrent(void);
+int getnetgrent(char **, char **, char **);
+int innetgr(const char *, const char *, const char *, const char *);
#define LINSIZ 1024 /* Length of netgroup file line */
@@ -150,8 +153,7 @@
* most of the work.
*/
void
-setnetgrent(group)
- char *group;
+setnetgrent(const char *group)
{
#ifdef YP
struct stat _yp_statp;
@@ -220,8 +222,7 @@
* Get the next netgroup off the list.
*/
int
-getnetgrent(hostp, userp, domp)
- char **hostp, **userp, **domp;
+getnetgrent(char **hostp, char **userp, char **domp)
{
#ifdef YP
_yp_innetgr = 0;
@@ -241,7 +242,7 @@
* endnetgrent() - cleanup
*/
void
-endnetgrent()
+endnetgrent(void)
{
struct linelist *lp, *olp;
struct netgrp *gp, *ogp;
@@ -278,11 +279,11 @@
}
#ifdef YP
-static int _listmatch(list, group, len)
- char *list, *group;
- int len;
+static int
+_listmatch(const char *list, const char *group, int len)
{
- char *ptr = list, *cptr;
+ const char *ptr = list;
+ const char *cptr;
int glen = strlen(group);
/* skip possible leading whitespace */
@@ -302,9 +303,8 @@
return(0);
}
-static int _buildkey(key, str, dom, rotation)
-char *key, *str, *dom;
-int *rotation;
+static int
+_buildkey(char *key, const char *str, const char *dom, int *rotation)
{
(*rotation)++;
if (*rotation > 4)
@@ -327,8 +327,7 @@
* Search for a match in a netgroup.
*/
int
-innetgr(group, host, user, dom)
- const char *group, *host, *user, *dom;
+innetgr(const char *group, const char *host, const char *user, const char *dom)
{
char *hst, *usr, *dm;
#ifdef YP
@@ -409,8 +408,7 @@
* Parse the netgroup file setting up the linked lists.
*/
static int
-parse_netgrp(group)
- char *group;
+parse_netgrp(const char *group)
{
char *spos, *epos;
int len, strpos;
@@ -520,8 +518,7 @@
* is found. Return 1 if eof is encountered.
*/
static struct linelist *
-read_for_group(group)
- char *group;
+read_for_group(const char *group)
{
char *pos, *spos, *linep, *olinep;
int len, olen;
==== //depot/projects/kse/lib/libc/gen/glob.3#4 (text+ko) ====
@@ -32,7 +32,7 @@
.\" SUCH DAMAGE.
.\"
.\" @(#)glob.3 8.3 (Berkeley) 4/16/94
-.\" $FreeBSD: src/lib/libc/gen/glob.3,v 1.26 2004/07/18 10:11:27 tjr Exp $
+.\" $FreeBSD: src/lib/libc/gen/glob.3,v 1.27 2004/07/29 03:41:24 tjr Exp $
.\"
.Dd July 18, 2004
.Dt GLOB 3
@@ -431,6 +431,7 @@
.St -p1003.2 .
Collating symbol expressions, equivalence class expressions and
character class expressions are not supported.
+.Pp
The flags
.Dv GLOB_ALTDIRFUNC ,
.Dv GLOB_BRACE ,
==== //depot/projects/kse/lib/libc/gen/glob.c#3 (text+ko) ====
@@ -38,7 +38,7 @@
static char sccsid[] = "@(#)glob.c 8.3 (Berkeley) 10/13/93";
#endif /* LIBC_SCCS and not lint */
#include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/lib/libc/gen/glob.c,v 1.21 2003/10/29 10:45:01 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/gen/glob.c,v 1.22 2004/07/29 03:48:52 tjr Exp $");
/*
* glob(3) -- a superset of the one defined in POSIX 1003.2.
@@ -65,6 +65,16 @@
* Number of matches in the current invocation of glob.
*/
+/*
+ * Some notes on multibyte character support:
+ * 1. Patterns with illegal byte sequences match nothing - even if
+ * GLOB_NOCHECK is specified.
+ * 2. Illegal byte sequences in filenames are handled by treating them as
+ * single-byte characters with a value of the first byte of the sequence
+ * cast to wchar_t.
+ * 3. State-dependent encodings are not currently supported.
+ */
+
#include <sys/param.h>
#include <sys/stat.h>
@@ -72,11 +82,14 @@
#include <dirent.h>
#include <errno.h>
#include <glob.h>
+#include <limits.h>
#include <pwd.h>
+#include <stdint.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
+#include <wchar.h>
#include "collate.h"
@@ -100,26 +113,26 @@
#ifndef DEBUG
-#define M_QUOTE 0x8000
-#define M_PROTECT 0x4000
-#define M_MASK 0xffff
-#define M_ASCII 0x00ff
+#define M_QUOTE 0x8000000000ULL
+#define M_PROTECT 0x4000000000ULL
+#define M_MASK 0xffffffffffULL
+#define M_CHAR 0x00ffffffffULL
-typedef u_short Char;
+typedef uint_fast64_t Char;
#else
#define M_QUOTE 0x80
#define M_PROTECT 0x40
#define M_MASK 0xff
-#define M_ASCII 0x7f
+#define M_CHAR 0x7f
>>> TRUNCATED FOR MAIL (1000 lines) <<<
More information about the p4-projects
mailing list