Ugly code, because the initial french subject (not this) could have suggested to do it with five functions maximum (and read/malloc/free from libc allowed). So have a cleaner code, with chained list to hold multiple files descriptor, with max 5 functions was a pain. Tests files and main is from ncolomer Support dev/random, but can may lose data on binaries.