Homework of the second module of Operating Systems @ Sapienza. The comments in the files are in italian since the course was in italian.
The program navigates recursively a directory and copies all the regular/executable files into two dynamically created folders: regulars and executables. Before copying the files in the corresponding folders a low level bitwise permission change was applied to each file. To keep track of the files I've created a sort of dynamic array that worked as a "dictionary".
-Compile: gcc -Wall progetto.c -o progetto.out
-Execute: ./progetto.out "path_name" "desired_depth" "processes"