diff --git a/src/builtin_functions.c b/src/builtin_functions.c index d46a012a03d97211334e9efff70ca4a31e0746d1..a34912ab9f316fe9cf6ecf1bac3ef2e76017c82b 100644 --- a/src/builtin_functions.c +++ b/src/builtin_functions.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: builtin_functions.c,v 1.181 1999/08/12 20:05:27 mast Exp $"); +RCSID("$Id: builtin_functions.c,v 1.182 1999/08/19 23:49:46 hubbe Exp $"); #include "interpret.h" #include "svalue.h" #include "pike_macros.h" @@ -4259,6 +4259,11 @@ void f_map(INT32 args) push_svalue(a->item+i); push_svalue(mysp-2); f_arrow(2); + if(IS_ZERO(sp-1)) + { + pop_stack(); + continue; + } add_ref_svalue(mysp-1); push_array_items(mysp[-1].u.array); f_call_function(splice+1);