> And the call to `strbuf_release()` should be moved to the end of this > function so that we know to reuse the buffer. The above early return > would then be converted into a `goto out` so that we have a common exit > path where we know to clean up all resources. I agree, however, after Eric's suggestion of keep looping even if find an invalid key, that goto will now be a continue. But I'll use strbuf_reset and move the strbuf_release to the end of the function in the next version.