Branch: Tag:

1995-10-11

1995-10-11 13:00:52 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

committing

Rev: README:1.1
Rev: bin/create_testsuite:1.3
Rev: bin/hilfe.lpc:1.2
Rev: bin/rsif:1.2
Rev: bin/uhttpd.lpc:1.2
Rev: doc/simulated/open:1.1
Rev: lib/master.lpc:1.2
Rev: lib/simulate.lpc:1.4
Rev: lib/testsuite.lpc:1.3
Rev: src/BUGS:1.3
Rev: src/Makefile.in:1.6
Rev: src/Makefile.in.src:1.2
Rev: src/README:1.2
Rev: src/add_efun.c:1.2
Rev: src/add_efun.h:1.2
Rev: src/array.c:1.4
Rev: src/array.h:1.2
Rev: src/backend.c:1.3
Rev: src/backend.h:1.2
Rev: src/builtin_efuns.c:1.2
Rev: src/builtin_efuns.h:1.2
Rev: src/call_out.c:1.5
Rev: src/call_out.h:1.2
Rev: src/callback.c:1.2
Rev: src/callback.h:1.2
Rev: src/config.h:1.6
Rev: src/configure.in:1.9
Rev: src/debug.c:1.4
Rev: src/debug.h:1.4
Rev: src/docode.c:1.4
Rev: src/docode.h:1.2
Rev: src/dynamic_buffer.c:1.3
Rev: src/dynamic_buffer.h:1.2
Rev: src/efun.h:1.2
Rev: src/error.c:1.2
Rev: src/error.h:1.2
Rev: src/fd_control.c:1.2
Rev: src/fd_control.h:1.2
Rev: src/fsort.c:1.2
Rev: src/fsort.h:1.2
Rev: src/global.h:1.2
Rev: src/hashtable.c:1.2
Rev: src/hashtable.h:1.2
Rev: src/interpret.c:1.5
Rev: src/interpret.h:1.2
Rev: src/language.y:1.3
Rev: src/las.c:1.3
Rev: src/las.h:1.3
Rev: src/lex.c:1.3
Rev: src/lex.h:1.2
Rev: src/list.c:1.3
Rev: src/list.h:1.2
Rev: src/lpc_signal.c:1.1
Rev: src/lpc_signal.h:1.1
Rev: src/lpc_types.c:1.3
Rev: src/lpc_types.h:1.2
Rev: src/machine.h.in:1.3
Rev: src/macros.h:1.4
Rev: src/main.c:1.8
Rev: src/main.h:1.2
Rev: src/mapping.c:1.4
Rev: src/mapping.h:1.2
Rev: src/memory.c:1.3
Rev: src/memory.h:1.2
Rev: src/module.c:1.2
Rev: src/module.h:1.2
Rev: src/modules/files/Makefile.in:1.3
Rev: src/modules/files/Makefile.in.src:1.2
Rev: src/modules/files/configure.in:1.5
Rev: src/modules/files/datagram.c:1.2
Rev: src/modules/files/efuns.c:1.4
Rev: src/modules/files/file.c:1.5
Rev: src/modules/files/file.h:1.3
Rev: src/modules/files/file_machine.h.in:1.3
Rev: src/modules/files/socket.c:1.6
Rev: src/modules/math/Makefile.in:1.4
Rev: src/modules/math/Makefile.in.src:1.3
Rev: src/modules/math/math.c:1.2
Rev: src/modules/regexp/Makefile.in:1.3
Rev: src/modules/regexp/Makefile.in.src:1.2
Rev: src/modules/regexp/glue.c:1.2
Rev: src/modules/regexp/regexp.h:1.2
Rev: src/modules/sprintf/Makefile.in:1.3
Rev: src/modules/sprintf/Makefile.in.src:1.2
Rev: src/modules/sprintf/sprintf.c:1.2
Rev: src/object.c:1.3
Rev: src/object.h:1.2
Rev: src/opcodes.c:1.6
Rev: src/opcodes.h:1.2
Rev: src/operators.c:1.3
Rev: src/operators.h:1.2
Rev: src/otable.h:1.2
Rev: src/port.c:1.9
Rev: src/port.h:1.4
Rev: src/program.h:1.2
Rev: src/rusage.c:1.3
Rev: src/rusage.h:1.2
Rev: src/stralloc.c:1.3
Rev: src/stralloc.h:1.3
Rev: src/stuff.c:1.2
Rev: src/stuff.h:1.2
Rev: src/svalue.c:1.4
Rev: src/svalue.h:1.2
Rev: src/todo:1.2
Rev: src/types.h:1.6
Rev: src/ualarm.c:1.2

1: + /*\ + ||| This file a part of uLPC, and is copyright by Fredrik Hubinette + ||| uLPC is distributed as GPL (General Public License) + ||| See the files COPYING and DISCLAIMER for more information. + \*/   #include "global.h"   #include "interpret.h"   #include "object.h"
17:   #include "main.h"   #include "lex.h"   #include "builtin_efuns.h" + #include "lpc_signal.h"      #define TRACE_LEN 256   struct svalue evaluator_stack[EVALUATOR_STACK_SIZE];
291:    (long)backlog[e].arg);    }    }while(e!=backlogp); - }; + }      #endif   
865:       ref = p->identifier_references + fun;   #ifdef DEBUG -  if(ref->inherit_offset<0 || ref->inherit_offset>=p->num_inherits) +  if(ref->inherit_offset>=p->num_inherits)    fatal("Inherit offset out of range in program.\n");   #endif   
937:       if(function->flags & IDENTIFIER_C_FUNCTION)    { + #if 0    function->func.c_fun(args); -  + #else +  (*function->func.c_fun)(args); + #endif    }else{    int num_args;    int num_locals;
1144:    {    case T_FUNCTION:    if(s->subtype == -1) +  { +  struct svalue *expected_sp=sp-args+1;    (*(s->u.efun->function))(args); -  else +  if(sp > expected_sp) +  { +  pop_n_elems(sp-expected_sp); +  } +  else if(sp < expected_sp) +  { +  push_int(0); +  } + #ifdef DEBUG +  if(sp < expected_sp) fatal("Stack underflow!\n"); + #endif +  }else{    apply_low(s->u.object, s->subtype, args); -  +  }    break;       case T_ARRAY: