Branch: Tag:

1998-05-25

1998-05-25 15:23:25 by Henrik Grubbström (Grubba) <grubba@grubba.org>

f_indices() and f_values() now work on programs.

Rev: src/builtin_functions.c:1.112

4:   ||| 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:    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:    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:    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:    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);