The original patch tried to fix it by not assigning anything to
open_mode. That only works if the compiler is able to deduce that bug()
will abort the process however (or just not warn about the uninitialized
use of open_mode). clang does warn about open_mode being used
uninitialized in this function.
Solve this by rewriting the function to simply only consider one case,
the mode == kVSFSysStrOpenReadOnly one. Otherwise, don't call
vsf_sysutil_open_file() and just return -1 after calling bug().