Clean up a function (|amethyst).

<+|amethyst> hm, a do...while(0) solely so that you can use break
             instead of goto
<+|amethyst> clever