#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> #include <errno.h> int main(int argc, char * argv[]) { if (argc < 3) { printf("Usage ./T2.o folder_path link_name\n"); } char* folder_path = argv[1]; char* link = argv[2]; // Creating folder if it doesn't exist: mkdir(folder_path, 0777); if (errno != 0) { fprintf(stderr, "cannot create directory '%s': ", folder_path); switch (errno) { case 13: fprintf(stderr, "Permission denied.\n"); break; case 17: fprintf(stderr, "File exists.\n"); break; default: fprintf(stderr, "Unknown error.\n"); } } else { // Creating link if folder creation is successful: symlink(folder_path, link); if (errno != 0) { fprintf(stderr, "cannot create symlink '%s' to '%s': ", link, folder_path); switch (errno) { case 13: fprintf(stderr, "Permission denied.\n"); break; case 17: fprintf(stderr, "File exists.\n"); break; default: fprintf(stderr, "Unknown error.\n"); } } } return 0; }