commit | 0b153f535cc8f8ca677d50d748b9a425354c76e1 | [log] [tgz] |
---|---|---|
author | Jason A. Donenfeld <Jason@zx2c4.com> | Mon Oct 07 18:31:40 2019 +0200 |
committer | Jason A. Donenfeld <Jason@zx2c4.com> | Tue Oct 08 10:27:50 2019 +0000 |
tree | 66c0c99f63398e1d5f8d4ed2edb914b21714278f | |
parent | ef33b2fb2c414dca4bfcf6ca59cbd1d9ad00703d [diff] |
windows: fix ShellExecute return condition ShellExecute is an ancient API with an unusual return signature. It pretends to return an HINSTANCE for backwards compatibility with Windows 3, but it's actualy a fake HINSTANCE. What's really happening here, according to MSDN, is that it returns either an Windows error less than or equal to 32, or it succeeds. So we adjust the return value accordingly. Prior to this commit, it was impossible to tell whether this command had succeeded. For example, when using the "runas" verb, ShellExecute did not correctly indicate whether or not permission was granted. Change-Id: Ie60554d6465798bacb9a225c4ead7e8dd62bce14 Reviewed-on: https://go-review.googlesource.com/c/sys/+/199521 Run-TryBot: Jason A. Donenfeld <Jason@zx2c4.com> TryBot-Result: Gobot Gobot <gobot@golang.org> Reviewed-by: Nenad Kozul <knenad@gmail.com> Reviewed-by: Alex Brainman <alex.brainman@gmail.com>
This repository holds supplemental Go packages for low-level interactions with the operating system.
The easiest way to install is to run go get -u golang.org/x/sys
. You can also manually git clone the repository to $GOPATH/src/golang.org/x/sys
.
This repository uses Gerrit for code changes. To learn how to submit changes to this repository, see https://golang.org/doc/contribute.html.
The main issue tracker for the sys repository is located at https://github.com/golang/go/issues. Prefix your issue with “x/sys:” in the subject line, so it is easy to find.