pike.git / src / interpret.c

version» Context lines:

pike.git/src/interpret.c:1:   /*   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: interpret.c,v 1.294 2003/02/26 18:19:08 mast Exp $ + || $Id: interpret.c,v 1.295 2003/03/14 15:50:44 grubba Exp $   */      #include "global.h" - RCSID("$Id: interpret.c,v 1.294 2003/02/26 18:19:08 mast Exp $"); + RCSID("$Id: interpret.c,v 1.295 2003/03/14 15:50:44 grubba Exp $");   #include "interpret.h"   #include "object.h"   #include "program.h"   #include "svalue.h"   #include "array.h"   #include "mapping.h"   #include "pike_error.h"   #include "language.h"   #include "stralloc.h"   #include "constants.h"
pike.git/src/interpret.c:309:    SET_ONERROR(err, do_free_array, a);    for(e=0;e<a->size;e++)    lvalue_to_svalue_no_free(a->item+e, lval[1].u.array->item+(e<<1));    to->type = T_ARRAY;    to->u.array=a;    UNSET_ONERROR(err);    break;    }       case T_SVALUE_PTR: +  dmalloc_touch_svalue(lval->u.lval);    assign_svalue_no_free(to, lval->u.lval);    break;       case T_OBJECT:    if (lval[1].type == T_OBJ_INDEX)    low_object_index_no_free (to, lval->u.object, lval[1].u.identifier);    else    object_index_no_free(to, lval->u.object, lval+1);    break;   
pike.git/src/interpret.c:375:       if(from->u.array->size > (lval[1].u.array->size>>1))    Pike_error("Too many values for multiple assign.\n");       for(e=0;e<from->u.array->size;e++)    assign_lvalue(lval[1].u.array->item+(e<<1),from->u.array->item+e);    }    break;       case T_SVALUE_PTR: +  dmalloc_touch_svalue(from); +  dmalloc_touch_svalue(lval->u.lval);    assign_svalue(lval->u.lval,from);    break;       case T_OBJECT:    if (lval[1].type == T_OBJ_INDEX)    object_low_set_index (lval->u.object, lval[1].u.identifier, from);    else    object_set_index(lval->u.object, lval+1, from);    break;   
pike.git/src/interpret.c:422: Inside #if defined(PIKE_SECURITY)
   if(!CHECK_DATA_SECURITY(lval->u.array, SECURITY_BIT_SET_INDEX))    Pike_error("Assign index permission denied.\n");   #endif       switch(lval->type)    {    case T_ARRAY_LVALUE:    return 0;       case T_SVALUE_PTR: +  dmalloc_touch_svalue(lval->u.lval);    if(lval->u.lval->type == t) return & ( lval->u.lval->u );    return 0;       case T_OBJECT:    return object_get_item_ptr(lval->u.object,lval+1,t);       case T_ARRAY:    return array_get_item_ptr(lval->u.array,lval+1,t);       case T_MAPPING:
pike.git/src/interpret.c:1108:    fprintf(stderr,"- %s:%4ld: %s\n",file,(long)linep,s);    if (filep) {    free_string(filep);    }    free(s);   }         #undef INIT_BLOCK   #define INIT_BLOCK(X) do { \ -  X->refs=1; \ +  X->refs=0; \ +  add_ref(X); /* For DMALLOC... */ \    X->flags=0; \    X->scope=0; \    DO_IF_SECURITY( if(CURRENT_CREDS) { \    add_ref(X->current_creds=CURRENT_CREDS); \    } else { \    X->current_creds = 0; \    }) \   }while(0)      #undef EXIT_BLOCK
pike.git/src/interpret.c:1548:    JMP_BUF tmp;    struct svalue *expendible=Pike_fp->expendible;    int flags=Pike_fp->flags;       debug_malloc_touch(Pike_fp);    if(SETJMP(tmp))    {    *Pike_sp=throw_value;    throw_value.type=T_INT;    Pike_sp++; +  dmalloc_touch_svalue(Pike_sp-1);    UNSETJMP(tmp);    Pike_fp->expendible=expendible;    Pike_fp->flags=flags;    low_destruct_objects_to_destruct();    return 0;    }else{    struct svalue **save_mark_sp=Pike_mark_sp;    int x;    Pike_fp->expendible=Pike_fp->locals + Pike_fp->num_locals;   
pike.git/src/interpret.c:1611:   {    dmalloc_touch_svalue(&throw_value);    if (Pike_interpreter.svalue_stack_margin) {    ONERROR tmp;    int old_t_flag = Pike_interpreter.trace_level;    Pike_interpreter.trace_level = 0;    Pike_interpreter.svalue_stack_margin = 0;    Pike_interpreter.c_stack_margin = 0;    SET_ONERROR(tmp,exit_on_error,"Error in handle_error in master object!");    *(Pike_sp++) = throw_value; +  dmalloc_touch_svalue(Pike_sp-1);    throw_value.type=T_INT;    APPLY_MASTER("handle_error", 1);    pop_stack();    UNSET_ONERROR(tmp);    Pike_interpreter.svalue_stack_margin = SVALUE_STACK_MARGIN;    Pike_interpreter.c_stack_margin = C_STACK_MARGIN;    Pike_interpreter.trace_level = old_t_flag;    }    else {    free_svalue(&throw_value);