fix warning about unused label on non win32 build

- moved platform dependend code into scope its respective #ifdef
- killed one useless 'goto' with great pleasure
- introduced duplicate code to preserve behavior (fallthrough case)
better error messages

- separated two causes of an error
- gave the win32 "lost signal" case a more descriptive message
Add curly brackets
Merge pull request #83 from mseeber/unused-label-warn-1

Fix compiler warning about unused label on non Win32