pike.git/
src/
pike_types.c
Branch:
Tag:
Non-build tags
All tags
No tags
2011-02-04
2011-02-04 23:02:36 by Henrik Grubbström (Grubba) <grubba@grubba.org>
1cba5d24639b103c724fd36c29b02c747842b4aa (
11
lines) (+
10
/-
1
)
[
Show
|
Annotate
]
Branch:
7.9
Fixed fatal bug in low_describe_types().
2232:
case T_OBJECT: if (t->cdr) {
+
dynamic_buffer save_buf;
+
ONERROR err;
struct svalue s; if (t->car) { my_strcat("object(is "); } else { my_strcat("object(implements "); }
-
if
((s.u.program = id_to_program(CDR_TO_INT(t)))) {
+
/*
We need to save the global buffer, in case id_to_program
(
)
+
* starts running Pike code. */
+
save_buffer
(
&save_buf);
+
SET_ONERROR(err, restore_buffer, &save_buf);
+
s.u.program = id_to_program(CDR_TO_INT(t))
;
+
CALL_AND_UNSET_ONERROR(err
)
;
+
if (s.u.program
) {
s.type = T_PROGRAM; s.subtype = 0; describe_svalue(&s, 0, NULL);