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

version» Context lines:

pike.git/src/modules/_Stdio/buffer.cmod:483:    return l;    }    return -1;    }       PMOD_EXPORT void io_actually_trigger_output( Buffer *io )    ATTRIBUTE((noclone,noinline));       PMOD_EXPORT void io_actually_trigger_output( Buffer *io )    { +  int destructed = 0; +  move_svalue(Pike_sp, &io->output);    if (UNLIKELY(!io->output.u.object->prog)) {    /* Destructed object. */    free_svalue(&io->output); -  SET_SVAL(io->output, PIKE_T_INT, NUMBER_NUMBER, integer, 0); -  return; +  destructed = 1;    } -  -  if ( io->output.u.object ) { -  move_svalue(Pike_sp++, &io->output); +     SET_SVAL(io->output, PIKE_T_INT, NUMBER_NUMBER, integer, 0); -  apply_svalue(Pike_sp-1, 0); +  if (LIKELY(!destructed)) { +  apply_svalue(Pike_sp++, 0);    pop_n_elems(2);    }    }       static int io_range_error( Buffer *io, ptrdiff_t howmuch )    ATTRIBUTE((noclone,noinline));       static int io_range_error( Buffer *io, ptrdiff_t howmuch )    {    int res;