pike.git / src / opcodes.c

version» Context lines:

pike.git/src/opcodes.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: opcodes.c,v 1.126 2002/10/28 13:04:09 nilsson Exp $ + || $Id: opcodes.c,v 1.127 2002/12/01 18:53:05 mast Exp $   */      #include "global.h"   #include <errno.h>   #include <math.h>   #include <ctype.h>   #include "interpret.h"   #include "svalue.h"   #include "array.h"   #include "stralloc.h"
pike.git/src/opcodes.c:23:   #include "fd_control.h"   #include "cyclic.h"   #include "builtin_functions.h"   #include "module_support.h"   #include "security.h"   #include "bignum.h"   #include "operators.h"      #define sp Pike_sp    - RCSID("$Id: opcodes.c,v 1.126 2002/10/28 13:04:09 nilsson Exp $"); + RCSID("$Id: opcodes.c,v 1.127 2002/12/01 18:53:05 mast Exp $");      void index_no_free(struct svalue *to,struct svalue *what,struct svalue *ind)   {    INT32 i;      #ifdef PIKE_SECURITY    if(what->type <= MAX_COMPLEX)    if(!CHECK_DATA_SECURITY(what->u.array, SECURITY_BIT_INDEX))    Pike_error("Index permission denied.\n");   #endif
pike.git/src/opcodes.c:514:    }       sp[-1].type=T_FLOAT;    sp[-1].u.float_number=f;    break;    }       case T_OBJECT:    switch(sp[-1].type)    { -  case T_STRING: -  if(Pike_fp->pc) -  { +  case T_STRING: { +  struct pike_string *file;    INT32 lineno; -  push_string(get_line(Pike_fp->pc, -  Pike_fp->context.prog, -  &lineno)); +  if(Pike_fp->pc && +  (file = low_get_line(Pike_fp->pc, Pike_fp->context.prog, &lineno))) { +  push_string(file);    }else{    push_int(0);    }    APPLY_MASTER("cast_to_object",2);    return; -  +  }       case T_FUNCTION:    if (Pike_sp[-1].subtype == FUNCTION_BUILTIN) {    Pike_error("Cannot cast builtin functions to object.\n");    } else {    Pike_sp[-1].type = T_OBJECT;    }    break;       default:    Pike_error("Cannot cast %s to object.\n",get_name_of_type(sp[-1].type));    }    break;       case T_PROGRAM:    switch(sp[-1].type)    { -  case T_STRING: -  if(Pike_fp->pc) -  { +  case T_STRING: { +  struct pike_string *file;    INT32 lineno; -  push_string(get_line(Pike_fp->pc, Pike_fp->context.prog, &lineno)); +  if(Pike_fp->pc && +  (file = low_get_line(Pike_fp->pc, Pike_fp->context.prog, &lineno))) { +  push_string(file);    }else{    push_int(0);    }    APPLY_MASTER("cast_to_program",2);    return; -  +  }       case T_FUNCTION:    {    struct program *p=program_from_function(sp-1);    if(p)    {    add_ref(p);    pop_stack();    push_program(p);    }else{