diff --git a/src/modules/files/file.c b/src/modules/files/file.c index bd574ca443be2834d4dcc4bf43e7c9191c8631ca..df5788e2889303ff7dd85b05ed401c1e9c6e35d5 100644 --- a/src/modules/files/file.c +++ b/src/modules/files/file.c @@ -5,7 +5,7 @@ \*/ #include "global.h" -RCSID("$Id: file.c,v 1.122 1998/08/08 13:53:23 grubba Exp $"); +RCSID("$Id: file.c,v 1.123 1998/09/01 17:02:28 hubbe Exp $"); #include "fdlib.h" #include "interpret.h" #include "svalue.h" @@ -812,10 +812,8 @@ static void file__enable_callbacks(INT32 args) if(IS_ZERO(& THIS->X )) \ { \ PIKE_CONCAT(set_,X)(FD, 0, 0); \ - check_internal_reference(THIS); \ }else{ \ PIKE_CONCAT(set_,X)(FD, PIKE_CONCAT(file_,X), THIS); \ - SET_INTERNAL_REFERENCE(THIS); \ } DO_TRIGGER(read_callback) @@ -824,6 +822,8 @@ DO_TRIGGER(write_callback) DO_TRIGGER(read_oob_callback) DO_TRIGGER(write_oob_callback) #endif + + check_internal_reference(THIS); pop_n_elems(args); push_int(0); } @@ -831,8 +831,7 @@ DO_TRIGGER(write_oob_callback) static void file__disable_callbacks(INT32 args) { #define DO_DISABLE(X) \ - PIKE_CONCAT(set_,X)(FD, 0, 0); \ - check_internal_reference(THIS); + PIKE_CONCAT(set_,X)(FD, 0, 0); DO_DISABLE(read_callback) @@ -842,6 +841,8 @@ DO_DISABLE(read_oob_callback) DO_DISABLE(write_oob_callback) #endif + check_internal_reference(THIS); + pop_n_elems(args); push_int(0); }