pike.git / src / modules / _Stdio / buffer.cmod

version» Context lines:

pike.git/src/modules/_Stdio/buffer.cmod:342:    Pike_sp[-1].u.integer = 0;    }       static void io_range_error_throw( Buffer *io, int howmuch )    ATTRIBUTE((noclone,noinline));       static void io_range_error_throw( Buffer *io, int howmuch )    {    if( io->error_mode )    { +  struct object *err;    if( howmuch > 0 )    {    push_text("Trying to read %d bytes outside allowed range\n");    push_int(howmuch);    f_sprintf(2);    }    else    push_text("Illegal arguments\n");    -  +  if( io->error_mode != buffer_error_program ) +  {    ref_push_object( io->this ); -  push_object(clone_object(io->error_mode, 2)); +  err = clone_object(io->error_mode,2); +  } +  else +  err = clone_object(io->error_mode,1); +  +  push_object(err);    f_throw(1);    }    }       static struct pike_string *io_read_string( Buffer *io, ssize_t len )    ATTRIBUTE((noclone,noinline));    static size_t io_rewind( Buffer *io, INT_TYPE n );       static void io_do_rewind_on_error( struct rewind_to *e )    {