LGTM
Maybe we should have some GOP rules for C++ about this?
"Only have multiple exit points from routines if you absolutely have to.
Make sure any output parameters are declared and initialized at the top
of a routine so that however a routine exits, they are left in a defined
state"
Ian
http://codereview.appspot.com/4940047/