Собственно, я всю эту хреновину написал исключительно ради красоты. Внезапно понял, что никогда осмысленно не использовал setjmp/longjmp и решил ликвидировать этот пробел. За идеи спасибо, буду думать дальше. Может чего придумаю.
Не надо делать мне как лучше, оставьте мне как хорошо