From dda1a512be1b31ec63b0e811b4249ccd0611865a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fredrik=20H=C3=BCbinette=20=28Hubbe=29?= <hubbe@hubbe.net> Date: Sat, 3 Aug 1996 15:32:08 +0200 Subject: [PATCH] sizeof() moved to operators.c Rev: src/builtin_efuns.c:1.22 Rev: src/builtin_efuns.h:1.3 --- src/builtin_efuns.c | 49 +++------------------------------------------ src/builtin_efuns.h | 1 - 2 files changed, 3 insertions(+), 47 deletions(-) diff --git a/src/builtin_efuns.c b/src/builtin_efuns.c index 1daa692e03..f8593a52c7 100644 --- a/src/builtin_efuns.c +++ b/src/builtin_efuns.c @@ -557,51 +557,6 @@ void f_allocate(INT32 args) push_array( allocate_array(size) ); } -void f_sizeof(INT32 args) -{ - INT32 tmp; - if(args<1) - error("Too few arguments to sizeof()\n"); - - pop_n_elems(args-1); - switch(sp[-1].type) - { - case T_STRING: - tmp=sp[-1].u.string->len; - free_string(sp[-1].u.string); - break; - - case T_ARRAY: - tmp=sp[-1].u.array->size; - free_array(sp[-1].u.array); - break; - - case T_MAPPING: - tmp=m_sizeof(sp[-1].u.mapping); - free_mapping(sp[-1].u.mapping); - break; - - case T_LIST: - tmp=sp[-1].u.list->ind->size; - free_list(sp[-1].u.list); - break; - - case T_OBJECT: - if(!sp[-1].u.object->prog) - error("sizeof() on destructed object.\n"); - tmp=sp[-1].u.object->prog->num_identifier_indexes; - free_object(sp[-1].u.object); - break; - - default: - error("Bad argument 1 to sizeof().\n"); - return; /* make apcc happy */ - } - sp[-1].type=T_INT; - sp[-1].subtype=NUMBER_NUMBER; - sp[-1].u.integer=tmp; -} - void f_rusage(INT32 args) { INT32 *rus,e; @@ -1524,7 +1479,6 @@ void init_builtin_efuns() add_efun("rows",f_rows,"function(mixed,array:array)",0); add_efun("rusage", f_rusage, "function(:int *)",OPT_EXTERNAL_DEPEND); add_efun("search",f_search,"function(string,string,void|int:int)|function(array,mixed,void|int:int)|function(mapping,mixed:mixed)",0); - add_efun("sizeof", f_sizeof, "function(string|list|array|mapping|object:int)",0); add_efun("sleep", f_sleep, "function(float|int:void)",OPT_SIDE_EFFECT); add_efun("sort",f_sort,"function(array(mixed),array(mixed)...:array(mixed))",OPT_SIDE_EFFECT); add_efun("stringp", f_stringp, "function(mixed:int)",0); @@ -1547,5 +1501,8 @@ void init_builtin_efuns() #ifdef GC2 add_efun("gc",f_gc,"function(:int)",OPT_SIDE_EFFECT); #endif + + + } diff --git a/src/builtin_efuns.h b/src/builtin_efuns.h index d5a2261e88..6f0b141d50 100644 --- a/src/builtin_efuns.h +++ b/src/builtin_efuns.h @@ -34,7 +34,6 @@ void f_function_name(INT32 args); void f_zero_type(INT32 args); void f_all_efuns(INT32 args); void f_allocate(INT32 args); -void f_sizeof(INT32 args); void f_rusage(INT32 args); void f_this_object(INT32 args); void f_throw(INT32 args); -- GitLab