pike.git / src / builtin.cmod

version» Context lines:

pike.git/src/builtin.cmod:1:   /* -*- c -*- -  * $Id: builtin.cmod,v 1.18 2001/06/08 14:26:40 mast Exp $ +  * $Id: builtin.cmod,v 1.19 2001/06/15 00:26:09 mast Exp $    */      #include "global.h"   #include "interpret.h"   #include "svalue.h"   #include "opcodes.h"   #include "pike_macros.h"   #include "object.h"   #include "program.h"   #include "array.h"
pike.git/src/builtin.cmod:285:    * or similar    */    if( map->type == T_MAPPING )    {    struct svalue s;    map_delete_no_free(map->u.mapping, index, &s);    pop_n_elems(args);    *sp=s;    sp++;    } -  else +  else if (map->type == T_OBJECT)    { -  apply_lfun( map->u.object, LFUN__M_DELETE, 1 ); +  int id = FIND_LFUN(map->u.object->prog, LFUN__M_DELETE); +  +  if( id == -1 ) +  SIMPLE_BAD_ARG_ERROR("m_delete", 1, "object with _m_delete"); +  +  apply_low( map->u.object, id, 1 );    stack_swap();    pop_stack(); -  +  } else { +  SIMPLE_BAD_ARG_ERROR("m_delete", 1, "object|mapping");    }   }      //! Returns the weak flag settings for @[m]. It's a combination of   //! @[Pike.WEAK_INDICES] and @[Pike.WEAK_VALUES].   //!   PIKEFUN int get_weak_flag(array|mapping|multiset m)    efun;    optflags OPT_EXTERNAL_DEPEND;   {