PERFORCE change 34111 for review

Marcel Moolenaar marcel at FreeBSD.org
Sat Jul 5 16:36:11 PDT 2003


http://perforce.freebsd.org/chv.cgi?CH=34111

Change 34111 by marcel at marcel_nfs on 2003/07/05 16:35:13

	IFC @34110

Affected files ...

.. //depot/projects/ia64/Makefile#27 integrate
.. //depot/projects/ia64/Makefile.inc1#71 integrate
.. //depot/projects/ia64/bin/sh/alias.c#5 integrate
.. //depot/projects/ia64/bin/sh/cd.c#8 integrate
.. //depot/projects/ia64/bin/sh/exec.c#8 integrate
.. //depot/projects/ia64/bin/sh/exec.h#3 integrate
.. //depot/projects/ia64/bin/sh/expand.c#11 integrate
.. //depot/projects/ia64/bin/sh/input.c#5 integrate
.. //depot/projects/ia64/bin/sh/jobs.c#18 integrate
.. //depot/projects/ia64/bin/sh/memalloc.c#6 integrate
.. //depot/projects/ia64/bin/sh/nodes.c.pat#5 integrate
.. //depot/projects/ia64/bin/sh/output.c#6 integrate
.. //depot/projects/ia64/bin/sh/parser.c#11 integrate
.. //depot/projects/ia64/bin/sh/redir.c#7 integrate
.. //depot/projects/ia64/bin/sh/var.c#9 integrate
.. //depot/projects/ia64/etc/mtree/BSD.local.dist#14 integrate
.. //depot/projects/ia64/etc/mtree/BSD.usr.dist#22 integrate
.. //depot/projects/ia64/include/Makefile#30 integrate
.. //depot/projects/ia64/lib/libc/stdio/vfwscanf.c#4 integrate
.. //depot/projects/ia64/lib/libc/stdio/wprintf.3#3 integrate
.. //depot/projects/ia64/lib/libc/stdio/wscanf.3#4 integrate
.. //depot/projects/ia64/lib/libpthread/thread/thr_sigwait.c#8 integrate
.. //depot/projects/ia64/libexec/rtld-elf/sparc64/rtld_machdep.h#5 integrate
.. //depot/projects/ia64/libexec/rtld-elf/sparc64/rtld_start.S#5 integrate
.. //depot/projects/ia64/release/Makefile#57 integrate
.. //depot/projects/ia64/release/doc/en_US.ISO8859-1/relnotes/common/new.sgml#101 integrate
.. //depot/projects/ia64/release/doc/ja_JP.eucJP/hardware/common/dev.sgml#16 integrate
.. //depot/projects/ia64/release/doc/ja_JP.eucJP/relnotes/common/new.sgml#25 integrate
.. //depot/projects/ia64/sbin/devd/devd.cc#9 integrate
.. //depot/projects/ia64/sbin/ipfw/ipfw.8#21 integrate
.. //depot/projects/ia64/sbin/ipfw/ipfw2.c#19 integrate
.. //depot/projects/ia64/share/colldef/Makefile#13 integrate
.. //depot/projects/ia64/share/colldef/hy_AM.ARMSCII-8.src#1 branch
.. //depot/projects/ia64/share/colldef/map.ARMSCII-8#1 branch
.. //depot/projects/ia64/share/man/man4/wi.4#23 integrate
.. //depot/projects/ia64/share/misc/pci_vendors#18 integrate
.. //depot/projects/ia64/share/mklocale/Makefile#11 integrate
.. //depot/projects/ia64/share/mklocale/hy_AM.ARMSCII-8.src#1 branch
.. //depot/projects/ia64/share/monetdef/Makefile#10 integrate
.. //depot/projects/ia64/share/monetdef/hy_AM.ARMSCII-8.src#1 branch
.. //depot/projects/ia64/share/msgdef/Makefile#10 integrate
.. //depot/projects/ia64/share/msgdef/hy_AM.ARMSCII-8.src#1 branch
.. //depot/projects/ia64/share/numericdef/Makefile#10 integrate
.. //depot/projects/ia64/share/numericdef/hy_AM.ARMSCII-8.src#1 branch
.. //depot/projects/ia64/share/syscons/fonts/INDEX.fonts#6 integrate
.. //depot/projects/ia64/share/syscons/fonts/Makefile#5 integrate
.. //depot/projects/ia64/share/syscons/fonts/armscii8-8x14.fnt#1 branch
.. //depot/projects/ia64/share/syscons/fonts/armscii8-8x16.fnt#1 branch
.. //depot/projects/ia64/share/syscons/fonts/armscii8-8x8.fnt#1 branch
.. //depot/projects/ia64/share/syscons/fonts/haik8-8x14.fnt#1 branch
.. //depot/projects/ia64/share/syscons/fonts/haik8-8x16.fnt#1 branch
.. //depot/projects/ia64/share/syscons/fonts/haik8-8x8.fnt#1 branch
.. //depot/projects/ia64/share/syscons/keymaps/INDEX.keymaps#8 integrate
.. //depot/projects/ia64/share/syscons/keymaps/Makefile#11 integrate
.. //depot/projects/ia64/share/syscons/keymaps/hy.armscii-8.kbd#1 branch
.. //depot/projects/ia64/share/syscons/scrnmaps/Makefile#4 integrate
.. //depot/projects/ia64/share/syscons/scrnmaps/armscii8-2haik8#1 branch
.. //depot/projects/ia64/share/timedef/Makefile#10 integrate
.. //depot/projects/ia64/share/timedef/hy_AM.ARMSCII-8.src#1 branch
.. //depot/projects/ia64/sys/contrib/dev/ath/freebsd/i386-elf.hal.o.uu#2 integrate
.. //depot/projects/ia64/sys/dev/em/if_em.h#15 integrate
.. //depot/projects/ia64/sys/dev/en/midway.c#18 integrate
.. //depot/projects/ia64/sys/dev/firewire/fwdma.c#3 integrate
.. //depot/projects/ia64/sys/dev/firewire/fwohci.c#28 integrate
.. //depot/projects/ia64/sys/dev/firewire/fwohci_pci.c#20 integrate
.. //depot/projects/ia64/sys/dev/firewire/sbp.c#37 integrate
.. //depot/projects/ia64/sys/dev/usb/ehci_pci.c#3 integrate
.. //depot/projects/ia64/sys/dev/usb/hid.c#7 integrate
.. //depot/projects/ia64/sys/dev/usb/hid.h#3 integrate
.. //depot/projects/ia64/sys/dev/usb/if_axe.c#3 integrate
.. //depot/projects/ia64/sys/dev/usb/if_cue.c#14 integrate
.. //depot/projects/ia64/sys/dev/usb/ohci.c#16 integrate
.. //depot/projects/ia64/sys/dev/usb/ohcireg.h#4 integrate
.. //depot/projects/ia64/sys/dev/usb/ucom.c#9 integrate
.. //depot/projects/ia64/sys/dev/usb/udbp.c#8 integrate
.. //depot/projects/ia64/sys/dev/usb/udbp.h#3 integrate
.. //depot/projects/ia64/sys/dev/usb/ufm.c#9 integrate
.. //depot/projects/ia64/sys/dev/usb/uftdi.c#7 integrate
.. //depot/projects/ia64/sys/dev/usb/ugen.c#14 integrate
.. //depot/projects/ia64/sys/dev/usb/uhci.c#17 integrate
.. //depot/projects/ia64/sys/dev/usb/uhcireg.h#4 integrate
.. //depot/projects/ia64/sys/dev/usb/uhcivar.h#7 integrate
.. //depot/projects/ia64/sys/dev/usb/uhid.c#12 integrate
.. //depot/projects/ia64/sys/dev/usb/uhub.c#7 integrate
.. //depot/projects/ia64/sys/dev/usb/ukbd.c#8 integrate
.. //depot/projects/ia64/sys/dev/usb/umass.c#29 integrate
.. //depot/projects/ia64/sys/dev/usb/umct.c#2 integrate
.. //depot/projects/ia64/sys/dev/usb/ums.c#10 integrate
.. //depot/projects/ia64/sys/dev/usb/uplcom.c#7 integrate
.. //depot/projects/ia64/sys/dev/usb/urio.c#13 integrate
.. //depot/projects/ia64/sys/dev/usb/usb_mem.h#4 integrate
.. //depot/projects/ia64/sys/dev/usb/usb_port.h#11 integrate
.. //depot/projects/ia64/sys/dev/usb/usb_subr.c#10 integrate
.. //depot/projects/ia64/sys/dev/usb/usbdevs#40 integrate
.. //depot/projects/ia64/sys/dev/usb/usbdi.c#10 integrate
.. //depot/projects/ia64/sys/dev/usb/usbdi.h#6 integrate
.. //depot/projects/ia64/sys/dev/usb/usbdi_util.c#6 integrate
.. //depot/projects/ia64/sys/dev/usb/usbdi_util.h#5 integrate
.. //depot/projects/ia64/sys/dev/usb/usbdivar.h#7 integrate
.. //depot/projects/ia64/sys/dev/usb/uvisor.c#6 integrate
.. //depot/projects/ia64/sys/dev/usb/uvscom.c#11 integrate
.. //depot/projects/ia64/sys/dev/zs/zs.c#11 integrate
.. //depot/projects/ia64/sys/i386/i386/pmap.c#48 integrate
.. //depot/projects/ia64/sys/ia64/ia64/db_trace.c#11 integrate
.. //depot/projects/ia64/sys/ia64/ia64/unwind.c#8 integrate
.. //depot/projects/ia64/sys/ia64/include/unwind.h#4 integrate
.. //depot/projects/ia64/sys/kern/kern_descrip.c#59 integrate
.. //depot/projects/ia64/sys/kern/kern_prot.c#28 integrate
.. //depot/projects/ia64/sys/kern/kern_sig.c#57 integrate
.. //depot/projects/ia64/sys/kern/kern_thr.c#10 integrate
.. //depot/projects/ia64/sys/kern/kern_thread.c#57 integrate
.. //depot/projects/ia64/sys/kern/kern_umtx.c#5 integrate
.. //depot/projects/ia64/sys/kern/sched_ule.c#21 integrate
.. //depot/projects/ia64/sys/kern/vfs_syscalls.c#48 integrate
.. //depot/projects/ia64/sys/modules/geom/geom_mbr/Makefile#2 integrate
.. //depot/projects/ia64/sys/netgraph/ng_tee.c#8 integrate
.. //depot/projects/ia64/sys/netinet/ip_fw.h#14 integrate
.. //depot/projects/ia64/sys/netinet/ip_fw2.c#22 integrate
.. //depot/projects/ia64/sys/pci/if_dc.c#38 integrate
.. //depot/projects/ia64/sys/pci/if_pcn.c#17 integrate
.. //depot/projects/ia64/sys/pci/if_rl.c#35 integrate
.. //depot/projects/ia64/sys/pci/if_sf.c#16 integrate
.. //depot/projects/ia64/sys/pci/if_sis.c#24 integrate
.. //depot/projects/ia64/sys/pci/if_sk.c#16 integrate
.. //depot/projects/ia64/sys/pci/if_ste.c#20 integrate
.. //depot/projects/ia64/sys/pci/if_vr.c#21 integrate
.. //depot/projects/ia64/sys/pci/if_wb.c#16 integrate
.. //depot/projects/ia64/sys/pci/if_xl.c#35 integrate
.. //depot/projects/ia64/sys/security/mac_bsdextended/mac_bsdextended.c#10 integrate
.. //depot/projects/ia64/sys/security/mac_ifoff/mac_ifoff.c#7 integrate
.. //depot/projects/ia64/sys/security/mac_lomac/mac_lomac.c#13 integrate
.. //depot/projects/ia64/sys/security/mac_test/mac_test.c#11 integrate
.. //depot/projects/ia64/sys/ufs/ufs/ufs_vnops.c#30 integrate
.. //depot/projects/ia64/sys/vm/vm_contig.c#15 integrate
.. //depot/projects/ia64/sys/vm/vm_mmap.c#21 integrate
.. //depot/projects/ia64/tools/regression/usr.bin/make/Makefile#9 integrate
.. //depot/projects/ia64/usr.bin/make/cond.c#9 integrate
.. //depot/projects/ia64/usr.bin/talk/display.c#5 integrate
.. //depot/projects/ia64/usr.bin/talk/get_iface.c#3 integrate
.. //depot/projects/ia64/usr.sbin/jexec/jexec.c#2 integrate

Differences ...

==== //depot/projects/ia64/Makefile#27 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile,v 1.282 2003/06/22 21:56:22 ru Exp $
+# $FreeBSD: src/Makefile,v 1.284 2003/07/04 17:35:26 ru Exp $
 #
 # The user-driven targets are:
 #
@@ -81,9 +81,10 @@
 PATH=	/sbin:/bin:/usr/sbin:/usr/bin
 MAKEOBJDIRPREFIX?=	/usr/obj
 MAKEPATH=	${MAKEOBJDIRPREFIX}${.CURDIR}/make.${MACHINE}
-_MAKE=	PATH=${PATH} \
+BINMAKE= \
 	`if [ -x ${MAKEPATH}/make ]; then echo ${MAKEPATH}/make; else echo ${MAKE}; fi` \
-	-m ${.CURDIR}/share/mk -f Makefile.inc1
+	-m ${.CURDIR}/share/mk
+_MAKE=	PATH=${PATH} ${BINMAKE} -f Makefile.inc1
 
 #
 # Handle the user-driven targets, using the source relative mk files.

==== //depot/projects/ia64/Makefile.inc1#71 (text+ko) ====

@@ -1,5 +1,5 @@
 #
-# $FreeBSD: src/Makefile.inc1,v 1.374 2003/07/02 19:26:19 gordon Exp $
+# $FreeBSD: src/Makefile.inc1,v 1.375 2003/07/04 14:27:06 ru Exp $
 #
 # Make command line options:
 #	-DNO_KERBEROS Do not build Heimdal (Kerberos 5)
@@ -652,18 +652,18 @@
 .endif
 .endif
 
-.if ( ${BOOTSTRAPPING} < 450005 || \
-    ( ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500034 ))
+.if ${BOOTSTRAPPING} < 450005 || \
+    ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500034
 _uudecode=	usr.bin/uudecode
 .endif
 
-.if ( ${BOOTSTRAPPING} < 430002 || \
-    ( ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500019 ))
+.if ${BOOTSTRAPPING} < 430002 || \
+    ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500019
 _xargs=		usr.bin/xargs
 .endif
 
-.if ( ${BOOTSTRAPPING} < 430002 || \
-    ( ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500018 ))
+.if ${BOOTSTRAPPING} < 430002 || \
+    ${BOOTSTRAPPING} >= 500000 && ${BOOTSTRAPPING} < 500018
 _yacc=		usr.bin/yacc
 .endif
 
@@ -754,7 +754,7 @@
 
 .if (exists(${.CURDIR}/rescue) && defined(RESCUE) || \
     defined(RELEASEDIR)) && \
-    ( ${TARGET_ARCH} != ${MACHINE_ARCH} || ${BOOTSTRAPPING} < 501101 )
+    (${TARGET_ARCH} != ${MACHINE_ARCH} || ${BOOTSTRAPPING} < 501101)
 _crunchide=	usr.sbin/crunch/crunchide
 .endif
 

==== //depot/projects/ia64/bin/sh/alias.c#5 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/alias.c,v 1.16 2002/06/30 05:15:03 obrien Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/alias.c,v 1.17 2003/07/05 15:18:44 dds Exp $");
 
 #include <stdlib.h>
 #include "shell.h"
@@ -54,7 +54,7 @@
 
 #define ATABSIZE 39
 
-struct alias *atab[ATABSIZE];
+STATIC struct alias *atab[ATABSIZE];
 
 STATIC void setalias(char *, char *);
 STATIC int unalias(char *);

==== //depot/projects/ia64/bin/sh/cd.c#8 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.32 2002/07/25 10:57:39 tjr Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/cd.c,v 1.33 2003/07/05 15:18:44 dds Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -74,8 +74,8 @@
 STATIC char *getcomponent(void);
 STATIC int updatepwd(char *);
 
-char *curdir = NULL;		/* current working directory */
-char *prevdir;			/* previous working directory */
+STATIC char *curdir = NULL;	/* current working directory */
+STATIC char *prevdir;		/* previous working directory */
 STATIC char *cdcomppath;
 
 int

==== //depot/projects/ia64/bin/sh/exec.c#8 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/exec.c,v 1.22 2002/10/01 11:48:18 tjr Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/exec.c,v 1.23 2003/07/05 15:18:44 dds Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -599,7 +599,7 @@
  * entry.
  */
 
-struct tblentry **lastcmdentry;
+STATIC struct tblentry **lastcmdentry;
 
 
 STATIC struct tblentry *

==== //depot/projects/ia64/bin/sh/exec.h#3 (text+ko) ====

@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)exec.h	8.3 (Berkeley) 6/8/95
- * $FreeBSD: src/bin/sh/exec.h,v 1.10 2002/02/02 06:50:46 imp Exp $
+ * $FreeBSD: src/bin/sh/exec.h,v 1.11 2003/07/05 15:18:44 dds Exp $
  */
 
 /* values of cmdtype */
@@ -64,7 +64,6 @@
 void hashcd(void);
 void changepath(const char *);
 void deletefuncs(void);
-void getcmdentry(char *, struct cmdentry *);
 void addcmdentry(char *, struct cmdentry *);
 void defun(char *, union node *);
 int unsetfunc(char *);

==== //depot/projects/ia64/bin/sh/expand.c#11 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/expand.c,v 1.43 2003/05/31 06:27:57 fenner Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/expand.c,v 1.44 2003/07/05 15:18:44 dds Exp $");
 
 #include <sys/types.h>
 #include <sys/time.h>
@@ -90,11 +90,11 @@
 };
 
 
-char *expdest;			/* output of current string */
-struct nodelist *argbackq;	/* list of back quote expressions */
-struct ifsregion ifsfirst;	/* first struct in list of ifs regions */
-struct ifsregion *ifslastp;	/* last struct in list */
-struct arglist exparg;		/* holds expanded arg list */
+STATIC char *expdest;			/* output of current string */
+STATIC struct nodelist *argbackq;	/* list of back quote expressions */
+STATIC struct ifsregion ifsfirst;	/* first struct in list of ifs regions */
+STATIC struct ifsregion *ifslastp;	/* last struct in list */
+STATIC struct arglist exparg;		/* holds expanded arg list */
 
 STATIC void argstr(char *, int);
 STATIC char *exptilde(char *, int);
@@ -1055,7 +1055,7 @@
  * should be escapes.  The results are stored in the list exparg.
  */
 
-char *expdir;
+STATIC char *expdir;
 
 
 STATIC void

==== //depot/projects/ia64/bin/sh/input.c#5 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/input.c,v 1.19 2002/07/24 02:06:07 tjr Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/input.c,v 1.20 2003/07/05 15:18:44 dds Exp $");
 
 #include <stdio.h>	/* defines BUFSIZ */
 #include <fcntl.h>
@@ -102,7 +102,7 @@
 char *parsenextc;		/* copy of parsefile->nextc */
 MKINIT struct parsefile basepf;	/* top level input file */
 char basebuf[BUFSIZ];		/* buffer for top level input file */
-struct parsefile *parsefile = &basepf;	/* current input file */
+STATIC struct parsefile *parsefile = &basepf;	/* current input file */
 int init_editline = 0;		/* editline library initialized? */
 int whichprompt;		/* 1 == PS1, 2 == PS2 */
 

==== //depot/projects/ia64/bin/sh/jobs.c#18 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/jobs.c,v 1.63 2003/03/17 11:28:56 tjr Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/jobs.c,v 1.64 2003/07/05 15:18:44 dds Exp $");
 
 #include <fcntl.h>
 #include <signal.h>
@@ -76,12 +76,12 @@
 #include "mystring.h"
 
 
-struct job *jobtab;		/* array of jobs */
-int njobs;			/* size of array */
+STATIC struct job *jobtab;	/* array of jobs */
+STATIC int njobs;		/* size of array */
 MKINIT pid_t backgndpid = -1;	/* pid of last background process */
 #if JOBS
-struct job *jobmru;		/* most recently used job list */
-pid_t initialpgrp;		/* pgrp of shell on invocation */
+STATIC struct job *jobmru;	/* most recently used job list */
+STATIC pid_t initialpgrp;	/* pgrp of shell on invocation */
 #endif
 int in_waitcmd = 0;		/* are we in waitcmd()? */
 int in_dowait = 0;		/* are we in dowait()? */

==== //depot/projects/ia64/bin/sh/memalloc.c#6 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/memalloc.c,v 1.24 2003/02/24 08:07:05 marcel Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/memalloc.c,v 1.25 2003/07/05 15:18:44 dds Exp $");
 
 #include <sys/param.h>
 #include "shell.h"
@@ -113,8 +113,8 @@
 };
 #define SPACE(sp)	((char*)(sp) + ALIGN(sizeof(struct stack_block)))
 
-struct stack_block *stackp;
-struct stackmark *markp;
+STATIC struct stack_block *stackp;
+STATIC struct stackmark *markp;
 char *stacknxt;
 int stacknleft;
 int sstrnleft;

==== //depot/projects/ia64/bin/sh/nodes.c.pat#5 (text+ko) ====

@@ -34,7 +34,7 @@
  * SUCH DAMAGE.
  *
  *	@(#)nodes.c.pat	8.2 (Berkeley) 5/4/95
- * $FreeBSD: src/bin/sh/nodes.c.pat,v 1.13 2003/02/24 08:07:05 marcel Exp $
+ * $FreeBSD: src/bin/sh/nodes.c.pat,v 1.14 2003/07/05 15:18:44 dds Exp $
  */
 
 #include <sys/param.h>
@@ -49,10 +49,10 @@
 #include "mystring.h"
 
 
-int     funcblocksize;		/* size of structures in function */
-int     funcstringsize;		/* size of strings in node */
-pointer funcblock;		/* block to allocate function from */
-char   *funcstring;		/* block to allocate strings from */
+STATIC int     funcblocksize;	/* size of structures in function */
+STATIC int     funcstringsize;	/* size of strings in node */
+STATIC pointer funcblock;	/* block to allocate function from */
+STATIC char   *funcstring;	/* block to allocate strings from */
 
 %SIZES
 

==== //depot/projects/ia64/bin/sh/output.c#6 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/output.c,v 1.17 2002/10/01 13:41:13 tjr Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/output.c,v 1.18 2003/07/05 15:18:44 dds Exp $");
 
 /*
  * Shell output routines.  We use our own output routines because:
@@ -161,7 +161,7 @@
 	out1c('\'');
 }
 
-char out_junk[16];
+STATIC char out_junk[16];
 
 void
 emptyoutbuf(struct output *dest)

==== //depot/projects/ia64/bin/sh/parser.c#11 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.48 2002/10/06 06:35:51 tjr Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/parser.c,v 1.49 2003/07/05 15:18:44 dds Exp $");
 
 #include <stdlib.h>
 
@@ -84,19 +84,19 @@
 
 
 
-struct heredoc *heredoclist;	/* list of here documents to read */
-int parsebackquote;		/* nonzero if we are inside backquotes */
-int doprompt;			/* if set, prompt the user */
-int needprompt;			/* true if interactive and at start of line */
-int lasttoken;			/* last token read */
+STATIC struct heredoc *heredoclist;	/* list of here documents to read */
+STATIC int parsebackquote;	/* nonzero if we are inside backquotes */
+STATIC int doprompt;		/* if set, prompt the user */
+STATIC int needprompt;		/* true if interactive and at start of line */
+STATIC int lasttoken;		/* last token read */
 MKINIT int tokpushback;		/* last token pushed back */
-char *wordtext;			/* text of last word returned by readtoken */
+STATIC char *wordtext;		/* text of last word returned by readtoken */
 MKINIT int checkkwd;            /* 1 == check for kwds, 2 == also eat newlines */
-struct nodelist *backquotelist;
-union node *redirnode;
-struct heredoc *heredoc;
-int quoteflag;			/* set if (part of) last token was quoted */
-int startlinno;			/* line # where last token started */
+STATIC struct nodelist *backquotelist;
+STATIC union node *redirnode;
+STATIC struct heredoc *heredoc;
+STATIC int quoteflag;		/* set if (part of) last token was quoted */
+STATIC int startlinno;		/* line # where last token started */
 
 /* XXX When 'noaliases' is set to one, no alias expansion takes place. */
 static int noaliases = 0;

==== //depot/projects/ia64/bin/sh/redir.c#7 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/redir.c,v 1.23 2002/09/29 12:38:25 tjr Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/redir.c,v 1.24 2003/07/05 15:18:44 dds Exp $");
 
 #include <sys/types.h>
 #include <sys/stat.h>
@@ -84,7 +84,7 @@
  * background commands, where we want to redirect fd0 to /dev/null only
  * if it hasn't already been redirected.
 */
-int fd0_redirected = 0;
+STATIC int fd0_redirected = 0;
 
 STATIC void openredirect(union node *, char[10 ]);
 STATIC int openhere(union node *);

==== //depot/projects/ia64/bin/sh/var.c#9 (text+ko) ====

@@ -40,7 +40,7 @@
 #endif
 #endif /* not lint */
 #include <sys/cdefs.h>
-__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.24 2003/05/05 22:49:22 obrien Exp $");
+__FBSDID("$FreeBSD: src/bin/sh/var.c,v 1.25 2003/07/05 15:18:44 dds Exp $");
 
 #include <unistd.h>
 #include <stdlib.h>
@@ -93,9 +93,9 @@
 struct var vps1;
 struct var vps2;
 struct var vvers;
-struct var voptind;
+STATIC struct var voptind;
 
-const struct varinit varinit[] = {
+STATIC const struct varinit varinit[] = {
 #ifndef NO_HISTORY
 	{ &vhistsize,	VSTRFIXED|VTEXTFIXED|VUNSET,	"HISTSIZE=",
 	  sethistsize },
@@ -121,7 +121,7 @@
 	  NULL }
 };
 
-struct var *vartab[VTABSIZE];
+STATIC struct var *vartab[VTABSIZE];
 
 STATIC struct var **hashvar(char *);
 STATIC int varequal(char *, char *);

==== //depot/projects/ia64/etc/mtree/BSD.local.dist#14 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.97 2003/06/06 22:34:43 ache Exp $
+# $FreeBSD: src/etc/mtree/BSD.local.dist,v 1.98 2003/07/05 11:41:10 ache Exp $
 #
 # Please see the file src/etc/mtree/README before making changes to this file.
 #
@@ -363,6 +363,8 @@
             ..
             hu_HU.ISO8859-2
             ..
+            hy_AM.ARMSCII-8
+            ..
             is_IS.ISO8859-1
             ..
             is_IS.ISO8859-15

==== //depot/projects/ia64/etc/mtree/BSD.usr.dist#22 (text+ko) ====

@@ -1,4 +1,4 @@
-# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.275 2003/06/06 22:34:43 ache Exp $
+# $FreeBSD: src/etc/mtree/BSD.usr.dist,v 1.276 2003/07/05 11:41:10 ache Exp $
 #
 # Please see the file src/etc/mtree/README before making changes to this file.
 #
@@ -425,6 +425,8 @@
             ..
             hu_HU.ISO8859-2
             ..
+            hy_AM.ARMSCII-8
+            ..
             is_IS.ISO8859-1
             ..
             is_IS.ISO8859-15
@@ -749,6 +751,8 @@
             ..
             hu_HU.ISO8859-2
             ..
+            hy_AM.ARMSCII-8
+            ..
             is_IS.ISO8859-1
             ..
             is_IS.ISO8859-15

==== //depot/projects/ia64/include/Makefile#30 (text+ko) ====

@@ -1,5 +1,5 @@
 #	@(#)Makefile	8.2 (Berkeley) 1/4/94
-# $FreeBSD: src/include/Makefile,v 1.203 2003/06/28 06:08:27 sam Exp $
+# $FreeBSD: src/include/Makefile,v 1.204 2003/07/04 19:54:06 ru Exp $
 #
 # Doing a "make install" builds /usr/include.
 
@@ -55,7 +55,7 @@
 		${.CURDIR}/../sys/sys/param.h \
 		${.CURDIR}/Makefile
 	@${ECHO} creating osreldate.h from newvers.sh
-	setvar PARAMFILE ${.CURDIR}/../sys/sys/param.h; \
+	@setvar PARAMFILE ${.CURDIR}/../sys/sys/param.h; \
 	. ${.CURDIR}/../sys/conf/newvers.sh;			\
 	echo "$$COPYRIGHT" > osreldate.h;			\
 	echo "#ifdef _KERNEL" >> osreldate.h;			\

==== //depot/projects/ia64/lib/libc/stdio/vfwscanf.c#4 (text+ko) ====

@@ -39,9 +39,9 @@
 #if defined(LIBC_SCCS) && !defined(lint)
 static char sccsid[] = "@(#)vfscanf.c	8.1 (Berkeley) 6/4/93";
 #endif /* LIBC_SCCS and not lint */
-__FBSDID("FreeBSD: src/lib/libc/stdio/vfscanf.c,v 1.24 2002/08/13 09:30:41 tjr Exp ");
+__FBSDID("FreeBSD: src/lib/libc/stdio/vfscanf.c,v 1.32 2003/06/28 09:03:05 das Exp ");
 #endif
-__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwscanf.c,v 1.4 2002/11/01 05:13:01 tjr Exp $");
+__FBSDID("$FreeBSD: src/lib/libc/stdio/vfwscanf.c,v 1.6 2003/07/05 03:39:23 tjr Exp $");
 
 #include "namespace.h"
 #include <ctype.h>
@@ -83,16 +83,11 @@
 #define	UNSIGNED	0x8000	/* %[oupxX] conversions */
 
 /*
- * The following are used in numeric conversions only:
- * SIGNOK, NDIGITS, DPTOK, and EXPOK are for floating point;
- * SIGNOK, NDIGITS, PFXOK, and NZDIGITS are for integral.
+ * The following are used in integral conversions only:
+ * SIGNOK, NDIGITS, PFXOK, and NZDIGITS
  */
 #define	SIGNOK		0x40	/* +/- is (still) legal */
 #define	NDIGITS		0x80	/* no digits detected */
-
-#define	DPTOK		0x100	/* (float) decimal point is still legal */
-#define	EXPOK		0x200	/* (float) exponent (e+3, etc) still legal */
-
 #define	PFXOK		0x100	/* 0x prefix is (still) legal */
 #define	NZDIGITS	0x200	/* no zero digits detected */
 
@@ -105,6 +100,10 @@
 #define	CT_INT		3	/* %[dioupxX] conversion */
 #define	CT_FLOAT	4	/* %[efgEFG] conversion */
 
+static int parsefloat(FILE *, wchar_t *, wchar_t *);
+
+extern int __scanfdebug;
+
 #define	INCCL(_c)	\
 	(cclcompl ? (wmemchr(ccls, (_c), ccle - ccls) == NULL) : \
 	(wmemchr(ccls, (_c), ccle - ccls) != NULL))
@@ -153,9 +152,6 @@
 	/* `basefix' is used to avoid `if' tests in the integer scanner */
 	static short basefix[17] =
 		{ 10, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };
-#ifdef FLOATING_POINT
-	char decimal_point = localeconv()->decimal_point[0];
-#endif
 
 	nassigned = 0;
 	nconversions = 0;
@@ -266,8 +262,8 @@
 			break;
 
 #ifdef FLOATING_POINT
-		case 'E': case 'F': case 'G':
-		case 'e': case 'f': case 'g':
+		case 'A': case 'E': case 'F': case 'G':
+		case 'a': case 'e': case 'f': case 'g':
 			c = CT_FLOAT;
 			break;
 #endif
@@ -546,15 +542,9 @@
 
 		case CT_INT:
 			/* scan an integer as if by the conversion function */
-#ifdef hardway
-			if (width == 0 || width > sizeof(buf) - 1)
-				width = sizeof(buf) - 1;
-#else
-			/* size_t is unsigned, hence this optimisation */
-			if (--width > sizeof(buf) - 2)
-				width = sizeof(buf) - 2;
-			width++;
-#endif
+			if (width == 0 || width > sizeof(buf) /
+			    sizeof(*buf) - 1)
+				width = sizeof(buf) / sizeof(*buf) - 1;
 			flags |= SIGNOK | NDIGITS | NZDIGITS;
 			for (p = buf; width; width--) {
 				c = __fgetwc(fp);
@@ -696,94 +686,27 @@
 #ifdef FLOATING_POINT
 		case CT_FLOAT:
 			/* scan a floating point number as if by strtod */
-#ifdef hardway
-			if (width == 0 || width > sizeof(buf) - 1)
-				width = sizeof(buf) - 1;
-#else
-			/* size_t is unsigned, hence this optimisation */
-			if (--width > sizeof(buf) - 2)
-				width = sizeof(buf) - 2;
-			width++;
-#endif
-			flags |= SIGNOK | NDIGITS | DPTOK | EXPOK;
-			for (p = buf; width; width--) {
-				c = __fgetwc(fp);
-				/*
-				 * This code mimicks the integer conversion
-				 * code, but is much simpler.
-				 */
-				switch (c) {
-
-				case '0': case '1': case '2': case '3':
-				case '4': case '5': case '6': case '7':
-				case '8': case '9':
-					flags &= ~(SIGNOK | NDIGITS);
-					goto fok;
-
-				case '+': case '-':
-					if (flags & SIGNOK) {
-						flags &= ~SIGNOK;
-						goto fok;
-					}
-					break;
-				case 'e': case 'E':
-					/* no exponent without some digits */
-					if ((flags&(NDIGITS|EXPOK)) == EXPOK) {
-						flags =
-						    (flags & ~(EXPOK|DPTOK)) |
-						    SIGNOK | NDIGITS;
-						goto fok;
-					}
-					break;
-				default:
-					if (c == (wchar_t)decimal_point &&
-					    (flags & DPTOK)) {
-						flags &= ~(SIGNOK | DPTOK);
-						goto fok;
-					}
-					break;
-				}
-				if (c != WEOF)
-					__ungetwc(c, fp);
-				break;
-		fok:
-				*p++ = c;
-			}
-			/*
-			 * If no digits, might be missing exponent digits
-			 * (just give back the exponent) or might be missing
-			 * regular digits, but had sign and/or decimal point.
-			 */
-			if (flags & NDIGITS) {
-				if (flags & EXPOK) {
-					/* no digits at all */
-					while (p > buf)
-						__ungetwc(*--p, fp);
-					goto match_failure;
-				}
-				/* just a bad exponent (e and maybe sign) */
-				c = *--p;
-				if (c != 'e' && c != 'E') {
-					__ungetwc(c, fp);/* sign */
-					c = *--p;
-				}
-				__ungetwc(c, fp);
-			}
+			if (width == 0 || width > sizeof(buf) /
+			    sizeof(*buf) - 1)
+				width = sizeof(buf) / sizeof(*buf) - 1;
+			if ((width = parsefloat(fp, buf, buf + width)) == 0)
+				goto match_failure;
 			if ((flags & SUPPRESS) == 0) {
-				double res;
-
-				*p = 0;
-				/* XXX this loses precision for long doubles. */
-				res = wcstod(buf, NULL);
-				if (flags & LONGDBL)
+				if (flags & LONGDBL) {
+					long double res = wcstold(buf, &p);
 					*va_arg(ap, long double *) = res;
-				else if (flags & LONG)
+				} else if (flags & LONG) {
+					double res = wcstod(buf, &p);
 					*va_arg(ap, double *) = res;
-				else
+				} else {
+					float res = wcstof(buf, &p);
 					*va_arg(ap, float *) = res;
+				}
+				if (__scanfdebug && p - buf != width)
+					abort();
 				nassigned++;
 			}
-			nread += p - buf;
+			nread += width;
 			nconversions++;
 			break;
 #endif /* FLOATING_POINT */
@@ -794,3 +717,157 @@
 match_failure:
 	return (nassigned);
 }
+
+#ifdef FLOATING_POINT
+static int
+parsefloat(FILE *fp, wchar_t *buf, wchar_t *end)
+{
+	wchar_t *commit, *p;
+	int infnanpos = 0;
+	enum {
+		S_START, S_GOTSIGN, S_INF, S_NAN, S_MAYBEHEX,
+		S_DIGITS, S_FRAC, S_EXP, S_EXPDIGITS
+	} state = S_START;
+	wchar_t c;
+	wchar_t decpt = (wchar_t)(unsigned char)*localeconv()->decimal_point;
+	_Bool gotmantdig = 0, ishex = 0;
+
+	/*
+	 * We set commit = p whenever the string we have read so far
+	 * constitutes a valid representation of a floating point
+	 * number by itself.  At some point, the parse will complete
+	 * or fail, and we will ungetc() back to the last commit point.
+	 * To ensure that the file offset gets updated properly, it is
+	 * always necessary to read at least one character that doesn't
+	 * match; thus, we can't short-circuit "infinity" or "nan(...)".
+	 */
+	commit = buf - 1;
+	c = WEOF;
+	for (p = buf; p < end; ) {
+		if ((c = __fgetwc(fp)) == WEOF)
+			break;
+reswitch:
+		switch (state) {
+		case S_START:
+			state = S_GOTSIGN;
+			if (c == '-' || c == '+')
+				break;
+			else
+				goto reswitch;
+		case S_GOTSIGN:
+			switch (c) {
+			case '0':
+				state = S_MAYBEHEX;
+				commit = p;
+				break;
+			case 'I':
+			case 'i':
+				state = S_INF;
+				break;
+			case 'N':
+			case 'n':
+				state = S_NAN;
+				break;
+			default:
+				state = S_DIGITS;
+				goto reswitch;
+			}
+			break;
+		case S_INF:
+			if (infnanpos > 6 ||
+			    (c != "nfinity"[infnanpos] &&
+			     c != "NFINITY"[infnanpos]))
+				goto parsedone;
+			if (infnanpos == 1 || infnanpos == 6)
+				commit = p;	/* inf or infinity */
+			infnanpos++;
+			break;
+		case S_NAN:
+			switch (infnanpos) {
+			case -1:	/* XXX kludge to deal with nan(...) */
+				goto parsedone;
+			case 0:
+				if (c != 'A' && c != 'a')
+					goto parsedone;
+				break;
+			case 1:
+				if (c != 'N' && c != 'n')
+					goto parsedone;
+				else
+					commit = p;
+				break;
+			case 2:
+				if (c != '(')
+					goto parsedone;
+				break;
+			default:
+				if (c == ')') {
+					commit = p;
+					infnanpos = -2;
+				} else if (!iswalnum(c) && c != '_')
+					goto parsedone;
+				break;
+			}
+			infnanpos++;
+			break;
+		case S_MAYBEHEX:
+			state = S_DIGITS;
+			if (c == 'X' || c == 'x') {
+				ishex = 1;
+				break;
+			} else {	/* we saw a '0', but no 'x' */
+				gotmantdig = 1;
+				goto reswitch;
+			}
+		case S_DIGITS:
+			if (ishex && iswxdigit(c) || iswdigit(c))
+				gotmantdig = 1;
+			else {
+				state = S_FRAC;
+				if (c != decpt)
+					goto reswitch;
+			}
+			if (gotmantdig)
+				commit = p;
+			break;
+		case S_FRAC:
+			if ((c == 'E' || c == 'e') && !ishex ||
+			    (c == 'P' || c == 'p') && ishex) {
+				if (!gotmantdig)
+					goto parsedone;
+				else
+					state = S_EXP;
+			} else if (ishex && iswxdigit(c) || iswdigit(c)) {
+				commit = p;
+				gotmantdig = 1;
+			} else
+				goto parsedone;
+			break;
+		case S_EXP:
+			state = S_EXPDIGITS;
+			if (c == '-' || c == '+')
+				break;
+			else
+				goto reswitch;
+		case S_EXPDIGITS:
+			if (iswdigit(c))
+				commit = p;
+			else
+				goto parsedone;
+			break;
+		default:
+			abort();
+		}
+		*p++ = c;
+		c = WEOF;
+	}
+
+parsedone:
+	if (c != WEOF)
+		__ungetwc(c, fp);
+	while (commit < --p)
+		__ungetwc(*p, fp);
+	*++commit = '\0';
+	return (commit - buf);
+}
+#endif

==== //depot/projects/ia64/lib/libc/stdio/wprintf.3#3 (text+ko) ====

@@ -35,9 +35,9 @@
 .\"
 .\"     @(#)printf.3	8.1 (Berkeley) 6/4/93
 .\" FreeBSD: src/lib/libc/stdio/printf.3,v 1.47 2002/09/06 11:23:55 tjr Exp
-.\" $FreeBSD: src/lib/libc/stdio/wprintf.3,v 1.4 2002/12/04 18:57:45 ru Exp $
+.\" $FreeBSD: src/lib/libc/stdio/wprintf.3,v 1.5 2003/07/05 07:55:34 tjr Exp $
 .\"
-.Dd September 18, 2002
+.Dd July 5, 2003
 .Dt WPRINTF 3
 .Os
 .Sh NAME
@@ -596,8 +596,13 @@
 Refer to
 .Xr printf 3 .
 .Sh SEE ALSO
+.Xr btowc 3 ,
+.Xr fputws 3 ,
 .Xr printf 3 ,
-.Xr setlocale 3
+.Xr putwc 3 ,
+.Xr setlocale 3 ,
+.Xr wcsrtombs 3 ,
+.Xr wscanf 3

>>> TRUNCATED FOR MAIL (1000 lines) <<<


More information about the p4-projects mailing list