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

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!