os: make all rm functions return an optional
							parent
							
								
									f703ddfb66
								
							
						
					
					
						commit
						692ca8ac83
					
				
							
								
								
									
										22
									
								
								vlib/os/os.v
								
								
								
								
							
							
						
						
									
										22
									
								
								vlib/os/os.v
								
								
								
								
							|  | @ -643,11 +643,17 @@ pub fn rm(path string) ? { | ||||||
| 	// C.unlink(path.cstr())
 | 	// C.unlink(path.cstr())
 | ||||||
| } | } | ||||||
| // rmdir removes a specified directory.
 | // rmdir removes a specified directory.
 | ||||||
| pub fn rmdir(path string) { | pub fn rmdir(path string) ? { | ||||||
| 	$if !windows { | 	$if !windows { | ||||||
| 		C.rmdir(path.str) | 		rc := C.rmdir(path.str) | ||||||
|  | 		if rc == -1 { | ||||||
|  | 			return error(posix_get_error_msg(C.errno)) | ||||||
|  | 		} | ||||||
| 	} $else { | 	} $else { | ||||||
| 		C.RemoveDirectory(path.to_wide()) | 		rc := C.RemoveDirectory(path.to_wide()) | ||||||
|  | 		if rc == -1 { | ||||||
|  | 			return error('Failed to remove "$path"') | ||||||
|  | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | @ -657,7 +663,8 @@ pub fn rmdir_recursive(path string) { | ||||||
| 	rmdir_all(path) | 	rmdir_all(path) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub fn rmdir_all(path string) { | pub fn rmdir_all(path string) ? { | ||||||
|  | 	mut ret_err := '' | ||||||
| 	items := os.ls(path) or { | 	items := os.ls(path) or { | ||||||
| 		return | 		return | ||||||
| 	} | 	} | ||||||
|  | @ -665,9 +672,12 @@ pub fn rmdir_all(path string) { | ||||||
| 		if os.is_dir(os.join_path(path, item)) { | 		if os.is_dir(os.join_path(path, item)) { | ||||||
| 			rmdir_all(os.join_path(path, item)) | 			rmdir_all(os.join_path(path, item)) | ||||||
| 		} | 		} | ||||||
| 		os.rm(os.join_path(path, item)) | 		os.rm(os.join_path(path, item)) or { ret_err = err } | ||||||
|  | 	} | ||||||
|  | 	os.rmdir(path) or { ret_err = err } | ||||||
|  | 	if ret_err.len > 0 { | ||||||
|  | 		return error(ret_err) | ||||||
| 	} | 	} | ||||||
| 	os.rmdir(path) |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| pub fn is_dir_empty(path string) bool { | pub fn is_dir_empty(path string) bool { | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue