самое сложное в переходе с плюсов или жабки на сишечку — это перестать
испытывать стыд при употреблении в коде goto при обработке ошибок. Серьёзно, в
пизду этот спагетти-код, когда можно просто относиться к тому что находится за
goto как к finally секции или деструктору. просто тут код деструктора
расположен прямо в теле функции.
при грамотном использовании goto код становится линейным и легко читаемым