diff options
-rw-r--r-- | src/output/plugins/WinmmOutputPlugin.cxx | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/output/plugins/WinmmOutputPlugin.cxx b/src/output/plugins/WinmmOutputPlugin.cxx index 4c7664c72..4a6cace29 100644 --- a/src/output/plugins/WinmmOutputPlugin.cxx +++ b/src/output/plugins/WinmmOutputPlugin.cxx @@ -96,8 +96,13 @@ get_device_id(const char *device_name, UINT *device_id, Error &error) char *endptr; UINT id = strtoul(device_name, &endptr, 0); if (endptr > device_name && *endptr == 0) { - if (id >= numdevs) - goto fail; + if (id >= numdevs) { + error.Format(winmm_output_domain, + "device \"%s\" is not found", + device_name); + return false; + } + *device_id = id; return true; } @@ -116,7 +121,6 @@ get_device_id(const char *device_name, UINT *device_id, Error &error) } } -fail: error.Format(winmm_output_domain, "device \"%s\" is not found", device_name); return false; |