From fa3145e8d43b0ad6a79fb61aa268dd677bc51af3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Grubbstr=C3=B6m=20=28Grubba=29?= <grubba@grubba.org> Date: Mon, 25 May 1998 17:23:25 +0200 Subject: [PATCH] f_indices() and f_values() now work on programs. Rev: src/builtin_functions.c:1.112 --- src/builtin_functions.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/src/builtin_functions.c b/src/builtin_functions.c index b0c85a48c6..a2e7ffd712 100644 --- a/src/builtin_functions.c +++ b/src/builtin_functions.c @@ -4,7 +4,7 @@ ||| See the files COPYING and DISCLAIMER for more information. \*/ #include "global.h" -RCSID("$Id: builtin_functions.c,v 1.111 1998/05/25 10:38:44 hubbe Exp $"); +RCSID("$Id: builtin_functions.c,v 1.112 1998/05/25 15:23:25 grubba Exp $"); #include "interpret.h" #include "svalue.h" #include "pike_macros.h" @@ -818,6 +818,10 @@ void f_indices(INT32 args) a=object_indices(sp[-args].u.object); break; + case T_PROGRAM: + a = program_indices(sp[-args].u.program); + break; + default: PIKE_ERROR("indices", "Bad argument 1.\n", sp, args); return; /* make apcc happy */ @@ -869,6 +873,10 @@ void f_values(INT32 args) a=object_values(sp[-args].u.object); break; + case T_PROGRAM: + a = program_values(sp[-args].u.program); + break; + default: PIKE_ERROR("values", "Bad argument 1.\n", sp, args); return; /* make apcc happy */ @@ -2959,7 +2967,7 @@ void init_builtin_efuns(void) add_efun("functionp", f_functionp, "function(mixed:int)",OPT_TRY_OPTIMIZE); add_efun("glob",f_glob,"function(string,string:int)|function(string,string*:array(string))",OPT_TRY_OPTIMIZE); add_efun("hash",f_hash,"function(string,int|void:int)",OPT_TRY_OPTIMIZE); - add_efun("indices",f_indices,"function(string|array:int*)|function(mapping(1=mixed:mixed)|multiset(1=mixed):array(1))|function(object:string*)",0); + add_efun("indices",f_indices,"function(string|array:int*)|function(mapping(1=mixed:mixed)|multiset(1=mixed):array(1))|function(object|program:string*)",0); add_efun("intp", f_intp, "function(mixed:int)",OPT_TRY_OPTIMIZE); add_efun("multisetp", f_multisetp, "function(mixed:int)",OPT_TRY_OPTIMIZE); add_efun("lower_case",f_lower_case,"function(string:string)",OPT_TRY_OPTIMIZE); @@ -2990,7 +2998,7 @@ void init_builtin_efuns(void) add_efun("trace",f_trace,"function(int:int)",OPT_SIDE_EFFECT); add_function("transpose",f_transpose,"function(array(0=mixed):array(0))", 0); add_efun("upper_case",f_upper_case,"function(string:string)",0); - add_efun("values",f_values,"function(string|multiset:int*)|function(array(0=mixed)|mapping(mixed:0=mixed)|object:array(0))",0); + add_efun("values",f_values,"function(string|multiset:array(int))|function(array(0=mixed)|mapping(mixed:0=mixed)|object|program:array(0))",0); add_efun("zero_type",f_zero_type,"function(mixed:int)",0); add_efun("array_sscanf",f_sscanf,"function(string,string:array)",0); -- GitLab