It would require a rewrite, as the sections are currently stored in an array as the size is known from the parameters passed to it. The benefit is minimal, as all you're doing is not rereading good sectors around a bad sector, and with a granularity of -i500 this doesn't mean much. You would only see a good benefit if using a high interval on a tricky disc.
Also, if the program gets to the end and says clean the disc (or you've closed it before it's finished execution), there's no need to delete the files it's made. Run the program again and it will continue where it left off (be sure to pass the same -i and -c parameters, and leave every file where it is). Any good sections won't be dumped again, and the successful reads of undumped sections will be used to try to get a match. Like in the above log file for house of the dead 2.