AutoCloseDir: Use std::unique_ptr
This commit is contained in:
		
							parent
							
								
									2b9d0a99cb
								
							
						
					
					
						commit
						8079ab87a2
					
				
					 4 changed files with 20 additions and 65 deletions
				
			
		|  | @ -234,11 +234,11 @@ DirEntries readDirectory(const Path & path) | |||
|     DirEntries entries; | ||||
|     entries.reserve(64); | ||||
| 
 | ||||
|     AutoCloseDir dir = opendir(path.c_str()); | ||||
|     AutoCloseDir dir(opendir(path.c_str())); | ||||
|     if (!dir) throw SysError(format("opening directory ‘%1%’") % path); | ||||
| 
 | ||||
|     struct dirent * dirent; | ||||
|     while (errno = 0, dirent = readdir(dir)) { /* sic */ | ||||
|     while (errno = 0, dirent = readdir(dir.get())) { /* sic */ | ||||
|         checkInterrupt(); | ||||
|         string name = dirent->d_name; | ||||
|         if (name == "." || name == "..") continue; | ||||
|  | @ -642,48 +642,6 @@ void Pipe::create() | |||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////
 | ||||
| 
 | ||||
| 
 | ||||
| AutoCloseDir::AutoCloseDir() | ||||
| { | ||||
|     dir = 0; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| AutoCloseDir::AutoCloseDir(DIR * dir) | ||||
| { | ||||
|     this->dir = dir; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| AutoCloseDir::~AutoCloseDir() | ||||
| { | ||||
|     close(); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void AutoCloseDir::operator =(DIR * dir) | ||||
| { | ||||
|     this->dir = dir; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| AutoCloseDir::operator DIR *() | ||||
| { | ||||
|     return dir; | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| void AutoCloseDir::close() | ||||
| { | ||||
|     if (dir) { | ||||
|         closedir(dir); | ||||
|         dir = 0; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| //////////////////////////////////////////////////////////////////////
 | ||||
| 
 | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue