Following the marking scheme given in the Learning Guide, the following are the equally weighted
functionality requirements broken down by part.
• correct collection of source file information
• correct collection of destination file information
• correct test of files being the same
• something sensible done when files are the same
• correct permissions assigned to destination
• correct detection of destination being a directory
• correct allocation of memory
• correct construction of destination file name
• correct freeing of allocated memory
• correctly aborting when destination exists