Why goto is bad? Again this "structured programming" bullshit. Kernel uses 2 a lot to handle errors like here [1].
[1] https://github.com/torvalds/linux/blob/master/mm/shmem.c#L99...
[1] https://github.com/torvalds/linux/blob/master/mm/shmem.c#L99...
Unstructured goto's that do not form simple loops or skips are going to make the position in code a much more complicated notion. And the position in code is crucial to understanding the meaning of variables, for example.