diff --git a/src/object.c b/src/object.c index e1fe2fc36bda2135a0cab4be2b188833766a46e2..e8387dac0894d42e2f7c491874d17c9793b408a9 100644 --- a/src/object.c +++ b/src/object.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: object.c,v 1.90 1999/11/16 17:26:41 grubba Exp $"); +RCSID("$Id: object.c,v 1.91 1999/12/14 23:54:28 mast Exp $"); #include "object.h" #include "dynamic_buffer.h" #include "interpret.h" @@ -604,9 +604,15 @@ void low_object_index_no_free(struct svalue *to, switch(i->identifier_flags & (IDENTIFIER_FUNCTION | IDENTIFIER_CONSTANT)) { + case IDENTIFIER_PIKE_FUNCTION: + if (i->func.offset == -1) { /* prototype */ + to->type=T_INT; + to->subtype=NUMBER_UNDEFINED; + to->u.integer=0; + break; + } case IDENTIFIER_FUNCTION: case IDENTIFIER_C_FUNCTION: - case IDENTIFIER_PIKE_FUNCTION: to->type=T_FUNCTION; to->subtype=f; to->u.object=o;