pike.git/
src/
las.c
Branch:
Tag:
Non-build tags
All tags
No tags
2002-12-20
2002-12-20 15:25:51 by Henrik Grubbström (Grubba) <grubba@grubba.org>
d87870d8b75cd49a2d768dfab0f6a50d2349ec74 (
18
lines) (+
14
/-
4
)
[
Show
|
Annotate
]
Branch:
7.4
Backported depend_p() fix from Pike 7.5.
Rev: src/las.c:1.316
2:
|| This file is part of Pike. For copyright information see COPYRIGHT. || Pike is distributed under GPL, LGPL and MPL. See the file COPYING || for more information.
-
|| $Id: las.c,v 1.
315
2002/
11
/
24
22
:
47
:
06
mast
Exp $
+
|| $Id: las.c,v 1.
316
2002/
12
/
20
15
:
25
:
51
grubba
Exp $
*/ #include "global.h"
-
RCSID("$Id: las.c,v 1.
315
2002/
11
/
24
22
:
47
:
06
mast
Exp $");
+
RCSID("$Id: las.c,v 1.
316
2002/
12
/
20
15
:
25
:
51
grubba
Exp $");
#include "language.h" #include "interpret.h"
2926:
} break;
+
case F_ARROW:
+
case F_INDEX:
+
p->ext_flags = VAR_USED;
+
find_used_variables(CAR(n),p,noblock,0);
+
find_used_variables(CDR(n),p,noblock,0);
+
break;
+
case F_ASSIGN: find_used_variables(CAR(n),p,noblock,0); find_used_variables(CDR(n),p,noblock,1);
3041:
case F_INDEX: case F_ARROW:
-
find_written_vars(CAR(n), p,
lvalue
);
+
if (lvalue)
+
p->ext_flags = VAR_USED;
+
find_written_vars(CAR(n), p,
0
);
find_written_vars(CDR(n), p, 0); break;
3141:
UNSET_ONERROR(free_bb); UNSET_ONERROR(free_aa);
-
if(aa.err || bb.err) {
+
if(aa.err || bb.err
|| aa.ext_flags == VAR_USED
) {
free_vars(&aa); free_vars(&bb); return 1;