]> Cypherpunks repositories - gostls13.git/commitdiff
syscall: fix handling of bool return values in mksyscall_windows.go
authorAlex Brainman <alex.brainman@gmail.com>
Fri, 25 Jul 2014 05:13:59 +0000 (15:13 +1000)
committerAlex Brainman <alex.brainman@gmail.com>
Fri, 25 Jul 2014 05:13:59 +0000 (15:13 +1000)
LGTM=chines
R=chines
CC=golang-codereviews
https://golang.org/cl/118160044

src/pkg/syscall/mksyscall_windows.go

index 3b483ec87aa10cc887a5df6e646acc42588f61f7..1cdd6b4d226c66c02fcbdaa12ef36f0757eca1c6 100644 (file)
@@ -283,9 +283,12 @@ func (r *Rets) SetErrorCode() string {
                return fmt.Sprintf(code, r.Name, syscalldot())
        }
        s := ""
-       if r.Type[0] == '*' {
+       switch {
+       case r.Type[0] == '*':
                s = fmt.Sprintf("%s = (%s)(unsafe.Pointer(r0))", r.Name, r.Type)
-       } else {
+       case r.Type == "bool":
+               s = fmt.Sprintf("%s = r0 != 0", r.Name)
+       default:
                s = fmt.Sprintf("%s = %s(r0)", r.Name, r.Type)
        }
        if !r.ReturnsError {