pike.git / src / builtin.cmod

version» Context lines:

pike.git/src/builtin.cmod:27:   #include "builtin_functions.h"   #include "fsort.h"   #include "pike_cpulib.h"   #include "gc.h"   #include "block_allocator.h"   #include "pikecode.h"   #include "opcodes.h"   #include "whitespace.h"   #include "sprintf.h"   #include "pike_search.h" + #include "pike_compiler.h"      #include <errno.h>   #include <math.h>   #include <fcntl.h>      #ifdef HAVE_ARPA_INET_H   #include <arpa/inet.h>   #endif /* HAVE_ARPA_INET_H */      #define DEFAULT_CMOD_STORAGE
pike.git/src/builtin.cmod:2614:    }       /*! @decl int(0..1) _is_type(string t)    *! This object claims to be an array for backward compatibility.    */    PIKEFUN int(0..1) _is_type(string t)    {    RETURN (t == literal_array_string);    }    -  static void fill_in_file_and_line(struct backtrace_frame_struct *this) +  static void fill_in_file_and_line(struct backtrace_frame_struct *this, +  struct local_variable_info *vars)    {    struct pike_string *file = NULL;    assert (this->lineno == 0);    -  +  if (vars) vars->num_local = 0;    if (this->pc && this->prog) { -  file = low_get_line(this->pc, this->prog, &this->lineno, NULL); +  file = low_get_line(this->pc, this->prog, &this->lineno, vars);    this->pc = NULL;    }    else if (TYPEOF(this->_fun) == PIKE_T_FUNCTION) {   #ifdef PIKE_DEBUG    if (this->_fun.u.object->prog &&    this->_fun.u.object->prog != this->oprog) {    struct identifier *id = ID_FROM_INT(this->oprog, SUBTYPEOF(this->_fun));    /* FIXME: Dump dmalloc info for the object? */    Pike_fatal("Lost track of function pointer! Function name was %s.\n",    id->name?id->name->str:"<no name>");
pike.git/src/builtin.cmod:2655:    if (this->prog) {    free_program(this->prog);    this->prog = NULL;    }    }       PIKEFUN void fill_in_file_and_line()    flags ID_PROTECTED;    {    if (THIS->lineno) return; -  fill_in_file_and_line(THIS); +  fill_in_file_and_line(THIS, NULL);    }       PIKEFUN string `filename()    {    apply_current(f_backtrace_frame_fill_in_file_and_line_fun_num, 0);    pop_stack();    if (THIS->filename) {    ref_push_string(THIS->filename);    return;    }