This is code lifted from variable.c's ParseVariableBool(). When the other patch for "psql hooks" is committed (the one that detects when the string wasn't a valid boolean), this code will go away and we'll just use ParseVariableBool() again.
The ParseVariableBool function has been updated, and the new version is much cleaner, including all fixes that I suggested in your copy, so you can use it in your patch.
-- Fabien.
I see there's still a lot of activity in the thread, I can't tell if it's directly related to ParseVariableBool() or in the way it is called. Should I wait for the dust to settle over there?