| 845 | } |
| 846 | |
| 847 | void Directory::removing(const ACE_TString& child, bool file) |
| 848 | { |
| 849 | Map& m = file ? files_ : dirs_; |
| 850 | Map::iterator iter = m.find(child); |
| 851 | |
| 852 | if (iter == m.end()) return; |
| 853 | |
| 854 | const ACE_TString& phys = iter->second; |
| 855 | String_Index_t idx = phys.find(ACE_TEXT("_overflow.")); |
| 856 | unsigned int bucket = (idx == 0 ? static_cast<unsigned int>(ACE_OS::atoi(&phys[idx + 10])) : 0); |
| 857 | |
| 858 | if (--overflow_[bucket] == 0 && bucket > 0) { |
| 859 | overflow_.erase(bucket); |
| 860 | idx = phys.find(ACE_TEXT('/')); |
| 861 | ACE_TString ov_dir = physical_dirname_ + ACE_TString(phys.c_str(), idx); |
| 862 | dds_rmdir(ov_dir.c_str()); |
| 863 | } |
| 864 | |
| 865 | m.erase(iter); |
| 866 | } |
| 867 | |
| 868 | // Base32Hex |
| 869 | |