/*
* call-seq:
* dir.close() -> nil
*
* It is a good idea to close a directory when you have finished using it.
* Although the garbage collector will currently handle this for you, this
* behaviour may change in future.
*/
static VALUE
frt_dir_close(VALUE self)
{
Store *store = DATA_PTR(self);
int ref_cnt = FIX2INT(rb_ivar_get(self, id_ref_cnt)) - 1;
rb_ivar_set(self, id_ref_cnt, INT2FIX(ref_cnt));
if (ref_cnt < 0) {
Frt_Unwrap_Struct(self);
object_del(store);
frt_unwrap_locks(store);
store_deref(store);
}
return Qnil;
}