summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLarry Wall <lwall@netlabs.com>1992-06-11 08:21:11 +0000
committerLarry Wall <lwall@netlabs.com>1992-06-11 08:21:11 +0000
commitfaf8582f0c418b57fd71e105da84edbb3177fa0c (patch)
tree362f6aa8bbc6e5d971e30ed808182176ae405c8e
parent2f3197b3c480b4120c210442c74a59d064d932c9 (diff)
downloadperl-faf8582f0c418b57fd71e105da84edbb3177fa0c.tar.gz
perl 4.0 patch 34: (combined patch)
Here's the typical cleanup patch that follows any large set of patches. My testing organization is either too large or too small, depending on how you look at it, sigh...
-rwxr-xr-xConfigure6
-rw-r--r--doarg.c20
-rw-r--r--doio.c9
-rw-r--r--hints/isc_3_2_3.sh2
-rw-r--r--installperl1
-rw-r--r--patchlevel.h2
-rw-r--r--perlsh2
-rw-r--r--perly.y7
-rw-r--r--str.c7
-rw-r--r--toke.c8
-rw-r--r--util.c7
-rw-r--r--util.h6
12 files changed, 54 insertions, 23 deletions
diff --git a/Configure b/Configure
index c183c1a803..44753783ca 100755
--- a/Configure
+++ b/Configure
@@ -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.)
#
-# $RCSfile: Configure,v $$Revision: 4.0.1.7 $$Date: 92/06/08 11:38:16 $
+# $RCSfile: Configure,v $$Revision: 4.0.1.8 $$Date: 92/06/11 21:04:45 $
#
# Yes, you may rip this off to use in other distribution packages.
# (Note: this Configure script was generated automatically. Rather than
@@ -2080,7 +2080,7 @@ main()
exit(0);
}
EOCP
- if $cc safebcpy.c -o safebcpy $ccflags >/dev/null 2>&1 ; then
+ if $cc safebcpy.c -o safebcpy $ccflags $libs >/dev/null 2>&1 ; then
if ./safebcpy; then
echo "It can."
d_safebcpy=define
@@ -2465,7 +2465,7 @@ main()
exit(0);
}
EOCP
- if $cc safemcpy.c -o safemcpy $ccflags >/dev/null 2>&1 ; then
+ if $cc safemcpy.c -o safemcpy $ccflags $libs >/dev/null 2>&1 ; then
if ./safemcpy; then
echo "It can."
d_safemcpy=define
diff --git a/doarg.c b/doarg.c
index 01a9631c3d..ca1014c3bb 100644
--- a/doarg.c
+++ b/doarg.c
@@ -1,4 +1,4 @@
-/* $RCSfile: doarg.c,v $$Revision: 4.0.1.6 $$Date: 92/06/08 12:34:30 $
+/* $RCSfile: doarg.c,v $$Revision: 4.0.1.7 $$Date: 92/06/11 21:07:11 $
*
* Copyright (c) 1991, Larry Wall
*
@@ -6,6 +6,10 @@
* License or the Artistic License, as specified in the README file.
*
* $Log: doarg.c,v $
+ * Revision 4.0.1.7 92/06/11 21:07:11 lwall
+ * patch34: join with null list attempted negative allocation
+ * patch34: sprintf("%6.4s", "abcdefg") didn't print "abcd "
+ *
* Revision 4.0.1.6 92/06/08 12:34:30 lwall
* patch20: removed implicit int declarations on funcions
* patch20: pattern modifiers i and o didn't interact right
@@ -406,7 +410,7 @@ int *arglast;
st += sp + 1;
- len = delimlen * (items - 1);
+ len = (items > 0 ? (delimlen * (items - 1) ) : 0);
if (str->str_len < len + items) { /* current length is way too short */
while (items-- > 0) {
if (*st)
@@ -982,28 +986,28 @@ register STR **sarg;
char *mp = index(f, '.');
int min = atoi(f+2);
- if (xlen < min)
- post = min - xlen;
- else if (mp) {
+ if (mp) {
int max = atoi(mp+1);
if (xlen > max)
xlen = max;
}
+ if (xlen < min)
+ post = min - xlen;
break;
}
else if (isDIGIT(f[1])) {
char *mp = index(f, '.');
int min = atoi(f+1);
- if (xlen < min)
- pre = min - xlen;
- else if (mp) {
+ if (mp) {
int max = atoi(mp+1);
if (xlen > max)
xlen = max;
}
+ if (xlen < min)
+ pre = min - xlen;
break;
}
strcpy(tokenbuf+64,f); /* sprintf($s,...$s...) */
diff --git a/doio.c b/doio.c
index aa85abe8d2..dd3b616c6c 100644
--- a/doio.c
+++ b/doio.c
@@ -1,4 +1,4 @@
-/* $RCSfile: doio.c,v $$Revision: 4.0.1.5 $$Date: 92/06/08 13:00:21 $
+/* $RCSfile: doio.c,v $$Revision: 4.0.1.6 $$Date: 92/06/11 21:08:16 $
*
* Copyright (c) 1991, Larry Wall
*
@@ -6,6 +6,9 @@
* License or the Artistic License, as specified in the README file.
*
* $Log: doio.c,v $
+ * Revision 4.0.1.6 92/06/11 21:08:16 lwall
+ * patch34: some systems don't declare h_errno extern in header files
+ *
* Revision 4.0.1.5 92/06/08 13:00:21 lwall
* patch20: some machines don't define ENOTSOCK in errno.h
* patch20: new warnings for failed use of stat operators on filenames with \n
@@ -64,6 +67,10 @@
#endif
#endif
+#ifdef HOST_NOT_FOUND
+extern int h_errno;
+#endif
+
#if defined(HAS_MSG) || defined(HAS_SEM) || defined(HAS_SHM)
#include <sys/ipc.h>
#ifdef HAS_MSG
diff --git a/hints/isc_3_2_3.sh b/hints/isc_3_2_3.sh
new file mode 100644
index 0000000000..ca1b549426
--- /dev/null
+++ b/hints/isc_3_2_3.sh
@@ -0,0 +1,2 @@
+set `echo $libswanted | sed -e 's/ socket / inet /'`
+libswanted="$*"
diff --git a/installperl b/installperl
index 7f9d36e741..b5ef496f91 100644
--- a/installperl
+++ b/installperl
@@ -150,6 +150,7 @@ if (chdir "lib") {
if ($?) {
&unlink("$installprivlib/$file");
&cmd("cp $file $installprivlib");
+ &chmod(0644, "$installprivlib/$file");
}
}
}
diff --git a/patchlevel.h b/patchlevel.h
index 1d5b76f174..3b47b479b6 100644
--- a/patchlevel.h
+++ b/patchlevel.h
@@ -1 +1 @@
-#define PATCHLEVEL 33
+#define PATCHLEVEL 34
diff --git a/perlsh b/perlsh
index 4f9b5ddd12..2b2cccd064 100644
--- a/perlsh
+++ b/perlsh
@@ -6,7 +6,7 @@
# Note that it must be a complete perl statement--don't type double
# carriage return in the middle of a loop.
-$/ = ''; # set paragraph mode
+$/ = "\n\n"; # set paragraph mode
$SHlinesep = "\n";
while ($SHcmd = <>) {
$/ = $SHlinesep;
diff --git a/perly.y b/perly.y
index abcac233d0..a52f18aff0 100644
--- a/perly.y
+++ b/perly.y
@@ -1,4 +1,4 @@
-/* $RCSfile: perly.y,v $$Revision: 4.0.1.4 $$Date: 92/06/08 17:33:25 $
+/* $RCSfile: perly.y,v $$Revision: 4.0.1.5 $$Date: 92/06/11 21:12:50 $
*
* Copyright (c) 1991, Larry Wall
*
@@ -6,6 +6,9 @@
* License or the Artistic License, as specified in the README file.
*
* $Log: perly.y,v $
+ * Revision 4.0.1.5 92/06/11 21:12:50 lwall
+ * patch34: expectterm incorrectly set to indicate start of program or block
+ *
* Revision 4.0.1.4 92/06/08 17:33:25 lwall
* patch20: one of the backdoors to expectterm was on the wrong reduction
*
@@ -106,8 +109,8 @@ prog : /* NULL */
{
#if defined(YYDEBUG) && defined(DEBUGGING)
yydebug = (debug & 1);
- expectterm = 2;
#endif
+ expectterm = 2;
}
/*CONTINUED*/ lineseq
{ if (in_eval)
diff --git a/str.c b/str.c
index 1c0c00e915..4b597ccd51 100644
--- a/str.c
+++ b/str.c
@@ -1,4 +1,4 @@
-/* $RCSfile: str.c,v $$Revision: 4.0.1.5 $$Date: 92/06/08 15:40:43 $
+/* $RCSfile: str.c,v $$Revision: 4.0.1.6 $$Date: 92/06/11 21:14:21 $
*
* Copyright (c) 1991, Larry Wall
*
@@ -6,6 +6,9 @@
* License or the Artistic License, as specified in the README file.
*
* $Log: str.c,v $
+ * Revision 4.0.1.6 92/06/11 21:14:21 lwall
+ * patch34: quotes containing subscripts containing variables didn't parse right
+ *
* Revision 4.0.1.5 92/06/08 15:40:43 lwall
* patch20: removed implicit int declarations on functions
* patch20: Perl now distinguishes overlapped copies from non-overlapped
@@ -1048,7 +1051,7 @@ STR *src;
case '&':
case '*':
s = scanident(s,send,tokenbuf);
- break;
+ continue;
case '\'':
case '"':
/*SUPPRESS 68*/
diff --git a/toke.c b/toke.c
index b3afce61d4..0452765f90 100644
--- a/toke.c
+++ b/toke.c
@@ -1,4 +1,4 @@
-/* $RCSfile: toke.c,v $$Revision: 4.0.1.6 $$Date: 92/06/08 16:03:49 $
+/* $RCSfile: toke.c,v $$Revision: 4.0.1.7 $$Date: 92/06/11 21:16:30 $
*
* Copyright (c) 1991, Larry Wall
*
@@ -6,6 +6,9 @@
* License or the Artistic License, as specified in the README file.
*
* $Log: toke.c,v $
+ * Revision 4.0.1.7 92/06/11 21:16:30 lwall
+ * patch34: expectterm incorrectly set to indicate start of program or block
+ *
* Revision 4.0.1.6 92/06/08 16:03:49 lwall
* patch20: an EXPR may now start with a bareword
* patch20: print $fh EXPR can now expect term rather than operator in EXPR
@@ -532,7 +535,8 @@ yylex()
yylval.ival = curcmd->c_line;
if (isSPACE(*s) || *s == '#')
cmdline = NOLINE; /* invalidate current command line number */
- OPERATOR(tmp);
+ expectterm = 2;
+ RETURN(tmp);
case ';':
if (curcmd->c_line < cmdline)
cmdline = curcmd->c_line;
diff --git a/util.c b/util.c
index 56dd7f899a..b4e3263174 100644
--- a/util.c
+++ b/util.c
@@ -1,4 +1,4 @@
-/* $RCSfile: util.c,v $$Revision: 4.0.1.5 $$Date: 92/06/08 16:08:37 $
+/* $RCSfile: util.c,v $$Revision: 4.0.1.6 $$Date: 92/06/11 21:18:47 $
*
* Copyright (c) 1991, Larry Wall
*
@@ -6,6 +6,9 @@
* License or the Artistic License, as specified in the README file.
*
* $Log: util.c,v $
+ * Revision 4.0.1.6 92/06/11 21:18:47 lwall
+ * patch34: boneheaded typo in my_bcopy()
+ *
* Revision 4.0.1.5 92/06/08 16:08:37 lwall
* patch20: removed implicit int declarations on functions
* patch20: Perl now distinguishes overlapped copies from non-overlapped
@@ -1185,7 +1188,7 @@ register int len;
to += len;
from += len;
while (len--)
- --*to = --*from;
+ *(--to) = *(--from);
}
return retval;
}
diff --git a/util.h b/util.h
index a0cc3fa0a2..eb4a0a49d0 100644
--- a/util.h
+++ b/util.h
@@ -1,4 +1,4 @@
-/* $RCSfile: util.h,v $$Revision: 4.0.1.3 $$Date: 92/06/08 16:09:20 $
+/* $RCSfile: util.h,v $$Revision: 4.0.1.4 $$Date: 92/06/11 21:19:36 $
*
* Copyright (c) 1991, Larry Wall
*
@@ -6,6 +6,9 @@
* License or the Artistic License, as specified in the README file.
*
* $Log: util.h,v $
+ * Revision 4.0.1.4 92/06/11 21:19:36 lwall
+ * patch34: pidgone() wasn't declared right
+ *
* Revision 4.0.1.3 92/06/08 16:09:20 lwall
* patch20: bcopy() and memcpy() now tested for overlap safety
*
@@ -52,3 +55,4 @@ int my_memcmp();
#endif
unsigned long scanoct();
unsigned long scanhex();
+void pidgone();