summaryrefslogtreecommitdiff
path: root/consarg.c
diff options
context:
space:
mode:
authorLarry Wall <lwall@jpl-devvax.jpl.nasa.gov>1989-11-10 16:20:25 +0000
committerLarry Wall <lwall@jpl-devvax.jpl.nasa.gov>1989-11-10 16:20:25 +0000
commitbf38876a182e0df9dd73362f56cf0ab8b43aa789 (patch)
tree0c8c37dbaeeadb7549ca7b6d3f2b19d92896f9bb /consarg.c
parent91407755d9b894ac1239c4fafe586e52138db38d (diff)
downloadperl-bf38876a182e0df9dd73362f56cf0ab8b43aa789.tar.gz
perl 3.0 patch #3 Patch #2 continued
Diffstat (limited to 'consarg.c')
-rw-r--r--consarg.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/consarg.c b/consarg.c
index 5a2c84fb17..b24322edf6 100644
--- a/consarg.c
+++ b/consarg.c
@@ -1,4 +1,4 @@
-/* $Header: consarg.c,v 3.0 89/10/18 15:10:30 lwall Locked $
+/* $Header: consarg.c,v 3.0.1.1 89/11/11 04:14:30 lwall Locked $
*
* Copyright (c) 1989, Larry Wall
*
@@ -6,6 +6,11 @@
* as specified in the README file that comes with the perl 3.0 kit.
*
* $Log: consarg.c,v $
+ * 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
+ * patch2: local(@foo) didn't work, but local(@foo,$bar) did
+ *
* Revision 3.0 89/10/18 15:10:30 lwall
* 3.0 baseline
*
@@ -304,6 +309,7 @@ register ARG *arg;
break;
case O_REPEAT:
i = (int)str_gnum(s2);
+ str_nset(str,"",0);
while (i-- > 0)
str_scat(str,s1);
break;
@@ -652,6 +658,8 @@ register ARG *arg;
arg[2].arg_flags |= AF_ARYOK;
}
}
+ else if (arg->arg_type == O_ASSIGN)
+ arg[1].arg_flags |= AF_ARYOK;
}
else if (arg1->arg_type == O_HELEM || arg1->arg_type == O_LHELEM)
arg1->arg_type = O_LHELEM;
@@ -667,6 +675,8 @@ register ARG *arg;
arg[2].arg_flags |= AF_ARYOK;
}
}
+ else if (arg->arg_type == O_ASSIGN)
+ arg[1].arg_flags |= AF_ARYOK;
}
else if (arg1->arg_type == O_ASLICE) {
arg1->arg_type = O_LASLICE;
@@ -900,6 +910,8 @@ fixeval(arg)
ARG *arg;
{
Renew(arg, 3, ARG);
+ if (arg->arg_len == 0)
+ arg[1].arg_type = A_NULL;
arg->arg_len = 2;
arg[2].arg_ptr.arg_hash = curstash;
arg[2].arg_type = A_NULL;