Branch: Tag:

1998-01-25

1998-01-25 08:28:45 by Fredrik Hübinette (Hubbe) <hubbe@hubbe.net>

jumbopatch! (DEBUG_MALLOC + parent feature fix)

Rev: src/ChangeLog:1.130
Rev: src/acconfig.h:1.15
Rev: src/array.c:1.22
Rev: src/array.h:1.6
Rev: src/builtin_functions.c:1.62
Rev: src/builtin_functions.h:1.6
Rev: src/cpp.c:1.14
Rev: src/dmalloc.h:1.1
Rev: src/docode.c:1.25
Rev: src/dynamic_buffer.c:1.6
Rev: src/dynamic_buffer.h:1.4
Rev: src/error.c:1.10
Rev: src/error.h:1.9
Rev: src/fdlib.c:1.9
Rev: src/gc.c:1.27
Rev: src/global.h:1.13
Rev: src/interpret.c:1.61
Rev: src/language.yacc:1.54
Rev: src/las.c:1.43
Rev: src/las.h:1.11
Rev: src/lex.c:1.40
Rev: src/lex.h:1.9
Rev: src/main.c:1.35
Rev: src/main.h:1.4
Rev: src/mapping.c:1.27
Rev: src/mapping.h:1.7
Rev: src/module.c:1.7
Rev: src/modules/Image/colortable.c:1.36
Rev: src/modules/Image/encodings/gif.c:1.30
Rev: src/modules/Image/encodings/png.c:1.2
Rev: src/modules/Image/encodings/pnm.c:1.12
Rev: src/modules/Image/encodings/x.c:1.5
Rev: src/modules/Yp/yp.c:1.10
Rev: src/modules/files/efuns.c:1.44
Rev: src/modules/files/file.c:1.69
Rev: src/modules/files/socket.c:1.25
Rev: src/modules/files/socktest.pike:1.7
Rev: src/modules/spider/accesseddb.c:1.13
Rev: src/modules/spider/dumudp.c:1.32
Rev: src/modules/spider/spider.c:1.51
Rev: src/modules/system/system.c:1.39
Rev: src/multiset.c:1.9
Rev: src/object.c:1.33
Rev: src/peep.c:1.17
Rev: src/pike_memory.c:1.4
Rev: src/pike_memory.h:1.2
Rev: src/pike_types.c:1.29
Rev: src/pike_types.h:1.7
Rev: src/program.c:1.54
Rev: src/program.h:1.27
Rev: src/stralloc.c:1.24
Rev: src/stralloc.h:1.12
Rev: src/testsuite.in:1.68
Rev: src/threads.c:1.53

4:   ||| See the files COPYING and DISCLAIMER for more information.   \*/   #include "global.h" - RCSID("$Id: las.c,v 1.42 1998/01/19 18:38:46 hubbe Exp $"); + RCSID("$Id: las.c,v 1.43 1998/01/25 08:25:08 hubbe Exp $");      #include "language.h"   #include "interpret.h"
124:    }   }    + struct pike_string *find_return_type(node *n) + { +  struct pike_string *a,*b;    -  +  if(!n) return 0; +  if(!(n->tree_info & OPT_RETURN)) return 0; +  if(car_is_node(n)) +  a=find_return_type(CAR(n)); +  else +  a=0; +  +  if(cdr_is_node(n)) +  b=find_return_type(CDR(n)); +  else +  b=0; +  +  if(a) +  { +  if(b && a!=b) return mixed_type_string; +  return a; +  } +  return b; + } +  +    #define NODES 256      struct node_chunk
535:    }   }    + void resolv_program(node *n) + { +  resolv_constant(n); +  switch(sp[-1].type) +  { +  case T_OBJECT: +  if(!sp[-1].u.object->prog) +  { +  pop_stack(); +  push_int(0); +  }else{ +  f_object_program(1); +  } +  break; +  +  case T_FUNCTION: +  if(program_from_function(sp-1)) +  break; +  +  default: +  yyerror("Illegal program identifier"); +  pop_stack(); +  push_int(0); +  +  case T_PROGRAM: +  break; +  } + } +  +  +    node *index_node(node *n, struct pike_string * id)   {    node *ret;