diff --git a/src/modules/_Stdio/buffer.cmod b/src/modules/_Stdio/buffer.cmod index f5c581d1bd9a94d10f7fd3d460f5f7d5b315ff3c..c226336ae2b8dcac560184c6df7879405f824057 100644 --- a/src/modules/_Stdio/buffer.cmod +++ b/src/modules/_Stdio/buffer.cmod @@ -252,20 +252,13 @@ PIKECLASS IOBuffer } } - static struct pike_string *range_error_s; static int io_range_error( IOBuffer *io, int howmuch ) { int res; struct svalue *osp = Pike_sp; - if(!range_error_s) - range_error_s = make_shared_string( "range_error" ); - push_int( howmuch ); - apply_low(io->this, - really_low_find_shared_string_identifier - (range_error_s, io->this->prog, SEE_PROTECTED), - 1); + apply_current( f_IOBuffer_range_error_fun_num, 1 ); res = Pike_sp[-1].u.integer; pop_n_elems( Pike_sp-osp ); if( !res ) io_range_error_throw( io, howmuch ); @@ -1579,7 +1572,6 @@ void exit_stdio_buffer(void) if( shm_program ) free_program( shm_program ); if( sbuf_program ) free_program( sbuf_program ); free_program( buffer_error_program ); - if( range_error_s ) free_string(range_error_s); EXIT } /*! @endmodule