int closedir(void *dir) { if (smbw_dirp(dir)) { return smbw_closedir(dir); } return real_closedir(dir); }
int closedir (DIR *dirp) { int (*real_closedir)(DIR *dirp) = dlsym (RTLD_NEXT, "closedir"); ensure_initialized (); g_mutex_lock (&direntcache_lock); g_hash_table_remove (direntcache, dirp); g_mutex_unlock (&direntcache_lock); return real_closedir (dirp); }