pike.git/
src/
program.c
Branch:
Tag:
Non-build tags
All tags
No tags
2017-02-25
2017-02-25 13:28:44 by Henrik Grubbström (Grubba) <grubba@grubba.org>
a4fcc4f9e4d746342eeb6a0953938e9d4ab3b7e9 (
16
lines) (+
7
/-
9
)
[
Show
|
Annotate
]
Branch:
8.1
Compiler: Use low_resolve_identifier() in resolve_program().
This reduces the overhead somewhat.
2100:
PMOD_EXPORT struct program *resolve_program(struct pike_string *ident) { struct program *ret = NULL;
-
struct
node
_
s *n =
resolve_identifier(ident)
;
-
if (n
) {
-
if ((
n->token
=
=
F
_
CONSTANT) && (TYPEOF(n->u.sval) == T
_
PROGRAM) &&
-
(
ret = n
-
>u.sval.u.program
)) {
+
if
(low
_resolve_identifier(ident)) {
+
if ((
ret
=
program
_
from_svalue
(
Pike_sp
-
1
))) {
add_ref(ret);
-
} else {
-
my_yyerror("Invalid program identifier '%S'.", ident);
+
}
-
free
_
node
(
n
);
-
} else {
-
my_yyerror("Unknown program identifier '%S'.", ident);
+
pop
_
stack
();
}
-
+
if (!ret) {
+
my_yyerror("Invalid program identifier '%S'.", ident);
+
}
return ret; }