| #include <unistd.h> | |
| #include <errno.h> | |
| int remove(const char *file){ | |
| /* First try to unlink since this is more frequently the necessary action. */ | |
| if(unlink(file) != 0 | |
| /* If it is indeed a directory... */ | |
| && (errno != EISDIR | |
| /* ...try to remove it. */ | |
| || rmdir(file) != 0)) | |
| /* Cannot remove the object for whatever reason. */ | |
| return -1; | |
| return 0; | |
| } |