diff options
-rwxr-xr-x | Configure | 132 | ||||
-rw-r--r-- | array.c | 7 | ||||
-rw-r--r-- | array.h | 6 | ||||
-rw-r--r-- | cmd.c | 17 | ||||
-rw-r--r-- | config.h.SH | 19 | ||||
-rw-r--r-- | cons.c | 7 | ||||
-rw-r--r-- | consarg.c | 15 | ||||
-rw-r--r-- | doio.c | 12 | ||||
-rw-r--r-- | dolist.c | 16 | ||||
-rw-r--r-- | eval.c | 11 | ||||
-rw-r--r-- | evalargs.xc | 23 | ||||
-rw-r--r-- | handy.h | 12 | ||||
-rw-r--r-- | patchlevel.h | 2 | ||||
-rw-r--r-- | t/op.stat | 5 | ||||
-rw-r--r-- | x2p/Makefile.SH | 7 |
15 files changed, 199 insertions, 92 deletions
@@ -8,7 +8,7 @@ # and edit it to reflect your system. Some packages may include samples # of config.h for certain machines, so you might look for one of those.) # -# $Header: Configure,v 3.0.1.2 89/11/11 04:05:37 lwall Locked $ +# $Header: Configure,v 3.0.1.3 89/11/17 15:01:21 lwall Locked $ # # Yes, you may rip this off to use in other distribution packages. # (Note: this Configure script was generated automatically. Rather than @@ -101,6 +101,7 @@ cppstdin='' cppminus='' d_bcmp='' d_bcopy='' +d_bzero='' d_charsprf='' d_crypt='' cryptlib='' @@ -119,6 +120,7 @@ d_htonl='' d_index='' d_ioctl='' d_killpg='' +d_lstat='' d_memcmp='' d_memcpy='' d_mkdir='' @@ -149,6 +151,7 @@ d_syscall='' d_tminsys='' i_systime='' i_timetoo='' +i_systimetoo='' d_varargs='' d_vfork='' d_voidsig='' @@ -173,7 +176,6 @@ i_varargs='' i_vfork='' intsize='' libc='' -libnm='' mallocsrc='' mallocobj='' usemymalloc='' @@ -247,8 +249,8 @@ attrlist="$attrlist i186" pth="/usr/ucb /bin /usr/bin /usr/local /usr/local/bin /usr/lbin /usr/plx /usr/5bin /vol/local/bin /etc /usr/lib /lib /usr/local/lib /sys5.3/bin /sys5.3/usr/bin /bsd4.3/bin /bsd4.3/usr/bin /bsd4.3/usr/ucb" d_newshome="/usr/NeWS" defvoidused=7 -libswanted="net nm ndir ndbm dbm c_s" - +libswanted="net nm ndir ndbm dbm sun bsd c_s" +inclwanted='/usr/netinclude /usr/include/sun /usr/include/bsd' : some greps do not return status, grrr. echo "grimblepritz" >grimble if grep blurfldyick grimble >/dev/null 2>&1 ; then @@ -1013,17 +1015,19 @@ esac case "$ccflags" in '') case "$cc" in *gcc*) dflt='-fpcc-struct-return';; - *) dflt='none';; + *) dflt='';; esac ;; *) dflt="$ccflags";; esac -if test -d /usr/netinclude; then - case "$dflt" in - *netinclude*);; - *) dflt="$dflt -I/usr/netinclude";; - esac -fi +for thisincl in $inclwanted; do + if test -d $thisincl; then + case "$dflt" in + *$thisincl*);; + *) dflt="$dflt -I$thisincl";; + esac + fi +done case "$optimize" in -g*) case "$dflt" in @@ -1032,6 +1036,9 @@ case "$optimize" in esac ;; esac +case "$dflt" in +'') dflt=none;; +esac cat <<EOH Your C compiler may want other flags. For this question you should @@ -1097,20 +1104,33 @@ case "$libswanted" in '') libswanted='c_s';; esac for thislib in $libswanted; do - if xxx=`loc lib$thislib.a X /usr/lib /usr/local/lib /lib`; then + xxx=`loc lib$thislib.a X /usr/lib /usr/local/lib /lib` + if test -f $xxx; then echo "Found -l$thislib." case "$dflt" in *-l$thislib*);; *) dflt="$dflt -l$thislib";; esac - elif xxx=`loc lib$thislib.a X $libpth`; then - echo "Found $xxx." - case "$dflt" in - *$xxx*);; - *) dflt="$dflt $xxx";; - esac else - echo "No -l$thislib." + xxx=`loc lib$thislib.a X $libpth` + if test -f $xxx; then + echo "Found $xxx." + case "$dflt" in + *$xxx*);; + *) dflt="$dflt $xxx";; + esac + else + xxx=`loc Slib$thislib.a X /usr/lib /usr/local/lib /lib` + if test -f $xxx; then + echo "Found -l$thislib." + case "$dflt" in + *-l$thislib*);; + *) dflt="$dflt -l$thislib";; + esac + else + echo "No -l$thislib." + fi + fi fi done set X $dflt @@ -1161,10 +1181,13 @@ main() int i; union { unsigned long l; - char c[8]; + char c[sizeof(long)]; } u; - u.l = 0x0807060504030201; + if (sizeof(long) > 4) + u.l = 0x0807060504030201; + else + u.l = 0x04030201; for (i=0; i < sizeof(long); i++) printf("%c",u.c[i]+'0'); printf("\n"); @@ -1330,7 +1353,7 @@ case "$libs" in fi libnames="$libnames $try" ;; - *) libnames="$libnames $thisname" ;; + *) libnames="$libnames $thislib" ;; esac done ;; @@ -1440,6 +1463,10 @@ eval $inlibc set bcopy d_bcopy eval $inlibc +: see if bzero exists +set bzero d_bzero +eval $inlibc + : see if sprintf is declared as int or pointer to char echo " " cat >.ucbsprf.c <<'EOF' @@ -1537,7 +1564,11 @@ if $test -r /usr/include/dirent.h ; then fi else i_dirent="$undef" - d_dirnamlen="$define" + if $contains 'd_namlen' /usr/include/sys/dir.h >/dev/null 2>&1; then + d_dirnamlen="$define" + else + d_dirnamlen="$undef" + fi echo "No dirent.h found." fi @@ -1657,6 +1688,10 @@ fi set killpg d_killpg eval $inlibc +: see if lstat exists +set lstat d_lstat +eval $inlibc + : see if memcmp exists set memcmp d_memcmp eval $inlibc @@ -1671,7 +1706,8 @@ eval $inlibc : see if ndbm is available echo " " -if xxx=`loc ndbm.h x /usr/include /usr/local/include /usr/netinclude`; then +xxx=`loc ndbm.h x /usr/include /usr/local/include $inclwanted` +if test -f $xxx; then d_ndbm="$define" echo "ndbm.h found." else @@ -1681,7 +1717,8 @@ fi : see if we have the old dbm echo " " -if xxx=`loc dbm.h x /usr/include /usr/local/include /usr/netinclude`; then +xxx=`loc dbm.h x /usr/include /usr/local/include $inclwanted` +if test -f $xxx; then d_odbm="$define" echo "dbm.h found." else @@ -1914,6 +1951,11 @@ if $contains '^#.*include.*<time\.h>' /usr/include/sys/time.h >/dev/null 2>&1 ; else i_timetoo="$define" fi +if $contains '^#.*include.*<sys/time\.h>' /usr/include/time.h >/dev/null 2>&1 ; then + i_systimetoo="$undef" +else + i_systimetoo="$define" +fi : see if this is a varargs system echo " " @@ -1931,13 +1973,15 @@ eval $inlibc : see if signal is declared as pointer to function returning int or void echo " " -if $contains 'void.*signal' /usr/include/signal.h >/dev/null 2>&1 ; then +$cppstdin $cppflags < /usr/include/signal.h >$$.tmp +if $contains 'void.*signal' $$.tmp >/dev/null 2>&1 ; then echo "You have void (*signal())() instead of int." d_voidsig="$define" else echo "You have int (*signal())() instead of void." d_voidsig="$undef" fi +rm -f $$.tmp : see if there is a wait4 set wait4 d_wait4 @@ -2014,10 +2058,15 @@ voidflags="$ans" $rm -f try.* .out : see what type gids are declared as in the kernel +echo " " case "$gidtype" in '') - if $contains 'gid_t;' /usr/include/sys/types.h >/dev/null 2>&1 ; then - dflt='gid_t'; + if $contains 'getgroups.*short' /usr/lib/lint/llib-lc >/dev/null 2>&1; then + dflt='short' + elif $contains 'getgroups.*int' /usr/lib/lint/llib-lc >/dev/null 2>&1; then + dflt='int' + elif $contains 'gid_t;' /usr/include/sys/types.h >/dev/null 2>&1 ; then + dflt='gid_t' else set `grep 'groups\[NGROUPS\];' /usr/include/sys/user.h 2>/dev/null` unsigned short case $1 in @@ -2030,7 +2079,6 @@ case "$gidtype" in ;; esac cont=true -echo " " echo "(The following only matters if you have getgroups().)" rp="What type are the group ids returned by getgroups()? [$dflt]" $echo $n "$rp $c" @@ -2059,7 +2107,8 @@ fi : see if this is a netinet/in.h system echo " " -if xxx=`loc netinet/in.h x /usr/include /usr/local/include /usr/netinclude`; then +xxx=`loc netinet/in.h x /usr/include /usr/local/include $inclwanted` +if test -f $xxx; then i_niin="$define" echo "netinet/in.h found." else @@ -2273,25 +2322,6 @@ Log='$Log' Header='$Header' -: see if we should include -lnm -echo " " -if $test -r /usr/lib/libnm.a || $test -r /usr/local/lib/libnm.a ; then - echo "New math library found." - libnm='-lnm' -else - ans=`loc libnm.a x $libpth` - case "$ans" in - x) - echo "No nm library found--the normal math library will have to do." - libnm='' - ;; - *) - echo "New math library found in $ans." - libnm="$ans" - ;; - esac -fi - : determine which malloc to compile in echo " " case "$usemymalloc" in @@ -2395,6 +2425,7 @@ cppstdin='$cppstdin' cppminus='$cppminus' d_bcmp='$d_bcmp' d_bcopy='$d_bcopy' +d_bzero='$d_bzero' d_charsprf='$d_charsprf' d_crypt='$d_crypt' cryptlib='$cryptlib' @@ -2413,6 +2444,7 @@ d_htonl='$d_htonl' d_index='$d_index' d_ioctl='$d_ioctl' d_killpg='$d_killpg' +d_lstat='$d_lstat' d_memcmp='$d_memcmp' d_memcpy='$d_memcpy' d_mkdir='$d_mkdir' @@ -2443,6 +2475,7 @@ d_syscall='$d_syscall' d_tminsys='$d_tminsys' i_systime='$i_systime' i_timetoo='$i_timetoo' +i_systimetoo='$i_systimetoo' d_varargs='$d_varargs' d_vfork='$d_vfork' d_voidsig='$d_voidsig' @@ -2467,7 +2500,6 @@ i_varargs='$i_varargs' i_vfork='$i_vfork' intsize='$intsize' libc='$libc' -libnm='$libnm' mallocsrc='$mallocsrc' mallocobj='$mallocobj' usemymalloc='$usemymalloc' @@ -1,4 +1,4 @@ -/* $Header: array.c,v 3.0 89/10/18 15:08:33 lwall Locked $ +/* $Header: array.c,v 3.0.1.1 89/11/17 15:02:52 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,9 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: array.c,v $ + * Revision 3.0.1.1 89/11/17 15:02:52 lwall + * patch5: nested foreach on same array didn't work + * * Revision 3.0 89/10/18 15:08:33 lwall * 3.0 baseline * @@ -102,7 +105,6 @@ STAB *stab; ar->ary_magic = Str_new(7,0); str_magic(ar->ary_magic, stab, '#', Nullch, 0); ar->ary_fill = -1; - ar->ary_index = -1; ar->ary_max = 4; ar->ary_flags = ARF_REAL; return ar; @@ -123,7 +125,6 @@ STR **strp; ar->ary_magic = Str_new(8,0); str_magic(ar->ary_magic, stab, '#', Nullch, 0); ar->ary_fill = size - 1; - ar->ary_index = -1; ar->ary_max = size - 1; ar->ary_flags = 0; return ar; @@ -1,4 +1,4 @@ -/* $Header: array.h,v 3.0 89/10/18 15:08:41 lwall Locked $ +/* $Header: array.h,v 3.0.1.1 89/11/17 15:03:42 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,9 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: array.h,v $ + * Revision 3.0.1.1 89/11/17 15:03:42 lwall + * patch5: nested foreach on same array didn't work + * * Revision 3.0 89/10/18 15:08:41 lwall * 3.0 baseline * @@ -17,7 +20,6 @@ struct atbl { STR *ary_magic; int ary_max; int ary_fill; - int ary_index; char ary_flags; }; @@ -1,4 +1,4 @@ -/* $Header: cmd.c,v 3.0.1.2 89/11/11 04:08:56 lwall Locked $ +/* $Header: cmd.c,v 3.0.1.3 89/11/17 15:04:36 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,9 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: cmd.c,v $ + * Revision 3.0.1.3 89/11/17 15:04:36 lwall + * patch5: nested foreach on same array didn't work + * * Revision 3.0.1.2 89/11/11 04:08:56 lwall * patch2: non-BSD machines required two ^D's for <> * patch2: grow_dlevel() not inside #ifdef DEBUGGING @@ -528,24 +531,26 @@ until_loop: retstr = &str_chop; goto flipmaybe; case CFT_ARRAY: - ar = stab_array(cmd->c_expr[1].arg_ptr.arg_stab); - match = ar->ary_index; /* just to get register */ + match = cmd->c_short->str_u.str_useful; /* just to get register */ if (match < 0) { /* first time through here? */ + ar = stab_array(cmd->c_expr[1].arg_ptr.arg_stab); aryoptsave = savestack->ary_fill; savesptr(&stab_val(cmd->c_stab)); - saveint(&ar->ary_index); + savelong(&cmd->c_short->str_u.str_useful); } + else + ar = stab_xarray(cmd->c_expr[1].arg_ptr.arg_stab); if (match >= ar->ary_fill) { /* we're in LAST, probably */ retstr = &str_undef; - ar->ary_index = -1; /* this is actually redundant */ + cmd->c_short->str_u.str_useful = -1; /* actually redundant */ match = FALSE; } else { match++; retstr = stab_val(cmd->c_stab) = ar->ary_array[match]; - ar->ary_index = match; + cmd->c_short->str_u.str_useful = match; match = TRUE; } newsp = -2; diff --git a/config.h.SH b/config.h.SH index c3c86301a6..ad19da7a80 100644 --- a/config.h.SH +++ b/config.h.SH @@ -48,7 +48,7 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!' * This symbol contains an encoding of the order of bytes in a long. * Usual values (in octal) are 01234, 04321, 02143, 03412... */ -#define BYTEORDER 0$byteorder /**/ +#define BYTEORDER 0x$byteorder /**/ /* CPPSTDIN: * This symbol contains the first part of the string which will invoke @@ -77,6 +77,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!' */ #$d_bcopy BCOPY /**/ +/* BZERO: + * This symbol, if defined, indicates that the bzero routine is available + * to zero blocks of memory. Otherwise you should probably use memcpy(). + */ +#$d_bzero BZERO /**/ + /* CHARSPRINTF: * This symbol is defined if this system declares "char *sprintf()" in * stdio.h. The trend seems to be to declare it as "int sprintf()". It @@ -212,6 +218,12 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!' */ #$d_killpg KILLPG /**/ +/* LSTAT: + * This symbol, if defined, indicates that the lstat() routine is + * available to do file locking. + */ +#$d_lstat LSTAT /**/ + /* MEMCMP: * This symbol, if defined, indicates that the memcmp routine is available * to compare blocks of memory. If undefined, roll your own. @@ -386,9 +398,14 @@ sed <<!GROK!THIS! >config.h -e 's!^#undef!/\*#undef!' * This symbol is defined if <sys/time.h> exists but doesn't include * <time.h>. */ +/* I_SYSTIMETOO: + * This symbol is defined if <sys/time.h> exists but isn't included + * by <time.h>. + */ #$d_tminsys TMINSYS /**/ #$i_systime I_SYSTIME /**/ #$i_timetoo I_TIMETOO /**/ +#$i_systimetoo I_SYSTIMETOO /**/ /* VARARGS: * This symbol, if defined, indicates to the C program that it should @@ -1,4 +1,4 @@ -/* $Header: cons.c,v 3.0.1.1 89/10/26 23:09:01 lwall Locked $ +/* $Header: cons.c,v 3.0.1.2 89/11/17 15:08:53 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,9 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: cons.c,v $ + * Revision 3.0.1.2 89/11/17 15:08:53 lwall + * patch5: nested foreach on same array didn't work + * * Revision 3.0.1.1 89/10/26 23:09:01 lwall * patch1: numeric switch optimization was broken * patch1: unless was broken when run under the debugger @@ -1029,6 +1032,8 @@ register CMD *cmd; cmd->c_flags &= ~CF_OPTIMIZE; /* clear optimization type */ cmd->c_flags |= CFT_ARRAY; /* and set it to do the iteration */ cmd->c_stab = eachstab; + cmd->c_short = str_new(0); /* just to save a field in struct cmd */ + cmd->c_short->str_u.str_useful = -1; return cmd; } @@ -1,4 +1,4 @@ -/* $Header: consarg.c,v 3.0.1.1 89/11/11 04:14:30 lwall Locked $ +/* $Header: consarg.c,v 3.0.1.2 89/11/17 15:11:34 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,9 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: consarg.c,v $ + * Revision 3.0.1.2 89/11/17 15:11:34 lwall + * patch5: defined $foo{'bar'} should not create element + * * Revision 3.0.1.1 89/11/11 04:14:30 lwall * patch2: '-' x 26 made warnings about undefined value * patch2: eval with no args caused strangeness @@ -634,7 +637,10 @@ register ARG *arg; } } else if (arg1->arg_type == O_AELEM || arg1->arg_type == O_LAELEM) - arg1->arg_type = O_LAELEM; + if (arg->arg_type == O_DEFINED) + arg1->arg_type = O_AELEM; + else + arg1->arg_type = O_LAELEM; else if (arg1->arg_type == O_ARRAY || arg1->arg_type == O_LARRAY) { arg1->arg_type = O_LARRAY; if (arg->arg_len > 1) { @@ -662,7 +668,10 @@ register ARG *arg; arg[1].arg_flags |= AF_ARYOK; } else if (arg1->arg_type == O_HELEM || arg1->arg_type == O_LHELEM) - arg1->arg_type = O_LHELEM; + if (arg->arg_type == O_DEFINED) + arg1->arg_type = O_HELEM; /* avoid creating one */ + else + arg1->arg_type = O_LHELEM; else if (arg1->arg_type == O_HASH || arg1->arg_type == O_LHASH) { arg1->arg_type = O_LHASH; if (arg->arg_len > 1) { @@ -1,4 +1,4 @@ -/* $Header: doio.c,v 3.0.1.2 89/11/11 04:25:51 lwall Locked $ +/* $Header: doio.c,v 3.0.1.3 89/11/17 15:13:06 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,10 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: doio.c,v $ + * Revision 3.0.1.3 89/11/17 15:13:06 lwall + * patch5: some systems have symlink() but not lstat() + * patch5: some systems have dirent.h but not readdir() + * * Revision 3.0.1.2 89/11/11 04:25:51 lwall * patch2: orthogonalized the file modes some so we can have <& +<& etc. * patch2: do_open() now detects sockets passed to process from parent @@ -510,7 +514,7 @@ int *arglast; else { str_sset(statname,ary->ary_array[sp]); statstab = Nullstab; -#ifdef SYMLINK +#ifdef LSTAT if (arg->arg_type == O_LSTAT) i = lstat(str_get(statname),&statcache); else @@ -1717,7 +1721,7 @@ STAB *stab; int gimme; int *arglast; { -#ifdef DIRENT +#if defined(DIRENT) && defined(READDIR) register ARRAY *ary = stack; register STR **st = ary->ary_array; register int sp = arglast[1]; @@ -1892,7 +1896,7 @@ int *arglast; tot--; } else { /* don't let root wipe out directories without -U */ -#ifdef SYMLINK +#ifdef LSTAT if (lstat(s,&statbuf) < 0 || #else if (stat(s,&statbuf) < 0 || @@ -1,4 +1,4 @@ -/* $Header: dolist.c,v 3.0.1.2 89/11/11 04:28:17 lwall Locked $ +/* $Header: dolist.c,v 3.0.1.3 89/11/17 15:14:45 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,9 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: dolist.c,v $ + * Revision 3.0.1.3 89/11/17 15:14:45 lwall + * patch5: grep() occasionally loses arguments or dumps core + * * Revision 3.0.1.2 89/11/11 04:28:17 lwall * patch2: non-existent slice values are now undefined rather than null * @@ -719,8 +722,8 @@ int gimme; int *arglast; { STR **st = stack->ary_array; - register STR **dst = &st[arglast[1]]; - register STR **src = dst + 1; + register int dst = arglast[1]; + register int src = dst + 1; register int sp = arglast[2]; register int i = sp - arglast[1]; int oldsave = savestack->ary_fill; @@ -730,10 +733,11 @@ int *arglast; dehoist(arg,1); arg = arg[1].arg_ptr.arg_arg; while (i-- > 0) { - stab_val(defstab) = *src; + stab_val(defstab) = st[src]; (void)eval(arg,G_SCALAR,sp); + st = stack->ary_array; if (str_true(st[sp+1])) - *dst++ = *src; + st[dst++] = st[src]; src++; } restorelist(oldsave); @@ -743,7 +747,7 @@ int *arglast; st[arglast[0]+1] = str; return arglast[0]+1; } - return arglast[0] + (dst - &st[arglast[1]]); + return arglast[0] + (dst - arglast[1]); } int @@ -1,4 +1,4 @@ -/* $Header: eval.c,v 3.0.1.1 89/11/11 04:31:51 lwall Locked $ +/* $Header: eval.c,v 3.0.1.2 89/11/17 15:19:34 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,9 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: eval.c,v $ + * Revision 3.0.1.2 89/11/17 15:19:34 lwall + * patch5: simplified a too-complex expression for some machine or other + * * Revision 3.0.1.1 89/11/11 04:31:51 lwall * patch2: mkdir and rmdir needed to quote argument when passed to shell * patch2: mkdir and rmdir now return better error codes @@ -557,8 +560,8 @@ register int sp; str = afetch(ary,maxarg - 1,FALSE); break; case O_AELEM: - str = afetch(stab_array(arg[1].arg_ptr.arg_stab), - ((int)str_gnum(st[2])) - arybase,FALSE); + anum = ((int)str_gnum(st[2])) - arybase; + str = afetch(stab_array(arg[1].arg_ptr.arg_stab),anum,FALSE); if (!str) goto say_undef; break; @@ -1739,7 +1742,7 @@ register int sp; goto say_no; #endif case O_FTLINK: -#ifdef SYMLINK +#ifdef LSTAT if (lstat(str_get(st[1]),&statcache) < 0) goto say_undef; if ((statcache.st_mode & S_IFMT) == S_IFLNK ) diff --git a/evalargs.xc b/evalargs.xc index 54b7b7b355..b2fd32560b 100644 --- a/evalargs.xc +++ b/evalargs.xc @@ -2,9 +2,12 @@ * kit sizes from getting too big. */ -/* $Header: evalargs.xc,v 3.0.1.2 89/11/11 04:33:05 lwall Locked $ +/* $Header: evalargs.xc,v 3.0.1.3 89/11/17 15:25:07 lwall Locked $ * * $Log: evalargs.xc,v $ + * Revision 3.0.1.3 89/11/17 15:25:07 lwall + * patch5: constant numeric subscripts disappeared in ?: + * * Revision 3.0.1.2 89/11/11 04:33:05 lwall * patch2: Configure now locates csh * @@ -55,25 +58,35 @@ break; case A_LARYSTAB: ++sp; + switch (optype) { + case O_ITEM2: argtype = 2; break; + case O_ITEM3: argtype = 3; break; + default: argtype = anum; break; + } str = afetch(stab_array(argptr.arg_stab), - arg[anum].arg_len - arybase, TRUE); + arg[argtype].arg_len - arybase, TRUE); #ifdef DEBUGGING if (debug & 8) { (void)sprintf(buf,"LARYSTAB $%s[%d]",stab_name(argptr.arg_stab), - arg[anum].arg_len); + arg[argtype].arg_len); tmps = buf; } #endif goto do_crement; case A_ARYSTAB: + switch (optype) { + case O_ITEM2: argtype = 2; break; + case O_ITEM3: argtype = 3; break; + default: argtype = anum; break; + } st[++sp] = afetch(stab_array(argptr.arg_stab), - arg[anum].arg_len - arybase, FALSE); + arg[argtype].arg_len - arybase, FALSE); if (!st[sp]) st[sp] = &str_undef; #ifdef DEBUGGING if (debug & 8) { (void)sprintf(buf,"ARYSTAB $%s[%d]",stab_name(argptr.arg_stab), - arg[anum].arg_len); + arg[argtype].arg_len); tmps = buf; } #endif @@ -1,4 +1,4 @@ -/* $Header: handy.h,v 3.0 89/10/18 15:18:24 lwall Locked $ +/* $Header: handy.h,v 3.0.1.1 89/11/17 15:25:55 lwall Locked $ * * Copyright (c) 1989, Larry Wall * @@ -6,6 +6,9 @@ * as specified in the README file that comes with the perl 3.0 kit. * * $Log: handy.h,v $ + * Revision 3.0.1.1 89/11/17 15:25:55 lwall + * patch5: some machines already define TRUE and FALSE + * * Revision 3.0 89/10/18 15:18:24 lwall * 3.0 baseline * @@ -28,6 +31,13 @@ #else #define bool char #endif + +#ifdef TRUE +#undef TRUE +#endif +#ifdef FALSE +#undef FALSE +#endif #define TRUE (1) #define FALSE (0) diff --git a/patchlevel.h b/patchlevel.h index 82d4f629a7..51d80f3b8e 100644 --- a/patchlevel.h +++ b/patchlevel.h @@ -1 +1 @@ -#define PATCHLEVEL 4 +#define PATCHLEVEL 5 @@ -1,6 +1,6 @@ #!./perl -# $Header: op.stat,v 3.0.1.1 89/11/11 05:02:46 lwall Locked $ +# $Header: op.stat,v 3.0.1.2 89/11/17 15:39:27 lwall Locked $ print "1..56\n"; @@ -15,8 +15,7 @@ if ($mtime && $mtime == $ctime) {print "ok 2\n";} else {print "not ok 2\n";} print foo "Now is the time for all good men to come to.\n"; close(foo); -$base = time; -while (time == $base) {} +sleep 2; `rm -f Op.stat.tmp2; ln Op.stat.tmp Op.stat.tmp2; chmod 644 Op.stat.tmp`; diff --git a/x2p/Makefile.SH b/x2p/Makefile.SH index cbbde9a133..84ab66b773 100644 --- a/x2p/Makefile.SH +++ b/x2p/Makefile.SH @@ -18,9 +18,12 @@ case "$mallocsrc" in esac echo "Extracting x2p/Makefile (with variable substitutions)" cat >Makefile <<!GROK!THIS! -# $Header: Makefile.SH,v 3.0.1.1 89/10/26 23:29:11 lwall Locked $ +# $Header: Makefile.SH,v 3.0.1.2 89/11/17 15:49:55 lwall Locked $ # # $Log: Makefile.SH,v $ +# Revision 3.0.1.2 89/11/17 15:49:55 lwall +# patch: in x2p/Makefile.SH, removed reference to $libnm +# # Revision 3.0.1.1 89/10/26 23:29:11 lwall # patch1: in x2p/Makefile.SH, added dependency on ../config.sh # @@ -50,7 +53,7 @@ LARGE = $large $split mallocsrc = $mallocsrc mallocobj = $mallocobj -libs = $libnm -lm $libs +libs = $libs -lm !GROK!THIS! cat >>Makefile <<'!NO!SUBS!' |