Question: What does the function below do? Select the BEST description. void foo(char* bar) { struct stat* stats; lstat(bar, stats); if (S_ISLNK(stats->st_mode)) { char s[PATH_MAX]; int
What does the function below do? Select the BEST description.
void foo(char* bar) {
struct stat* stats;
lstat(bar, stats);
if (S_ISLNK(stats->st_mode)) {
char s[PATH_MAX];
int size = readlink(bar, s, PATH_MAX);
s[size] = '\0';
unlink(bar);
link(s, bar);
}
}
| a) | Creates a copy of the filename given as bar. |
| b) | Replaces a soft link with a hard link of the same name. |
| c) | Deletes a file, leaving behind a dangling soft link. |
| d) | Creates a hard link with the same name as the original file. |
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
