GSoC/GCI Archive
Google Code-in 2010 Parrot Foundation and The Perl Foundation

Refactor PackFile_unpack

completed by: Natan Yellin

mentors: whiteknight

Task Description: the function PackFile_unpack in src/packfile/api.c is large and bloated. We need to refactor it out into smaller chunks, and make each chunk an individual function.

Break PackFile_unpack into several small static functions with descriptive names, following logical code boundaries. Where possible, try to make the new functions reusable: A function to verify the integrity of a general packfile is preferred over a function which does partial verification, or some verification and some unpacking, etc. This issue is discussed in Parrot ticket #749. Comment with your progress in that ticket.

Steps to Complete:

  1. Create a fork of parrot/parrot on Github
  2. Refactor PackFile_unpack into several functions.
  3. Build parrot and run all tests
  4. open a pull request on Github