Hello golang-dev@googlegroups.com, I'd like you to review this change to https://go.googlecode.com/hg/
LGTM On Wed, Mar 21, 2012 at 9:53 AM, <iant@golang.org> wrote: > Reviewers: golang-dev_googlegroups.com, > > Message: > Hello golang-dev@googlegroups.com, > > I'd like you to review this change to > https://go.googlecode.com/hg/ > > > Description: > cmd/cgo: fix handling of errno for gccgo > > Fixes issue 3332. > > Please review this at http://codereview.appspot.com/**5868047/<http://codereview.appspot.com/5868047/> > > Affected files: > M src/cmd/cgo/out.go > > > Index: src/cmd/cgo/out.go > ==============================**==============================**======= > --- a/src/cmd/cgo/out.go > +++ b/src/cmd/cgo/out.go > @@ -284,8 +284,13 @@ > } > conf.Fprint(fgo2, fset, d) > fmt.Fprintf(fgo2, "{\n") > + fmt.Fprintf(fgo2, "\tsyscall.SetErrno(0)\n") > fmt.Fprintf(fgo2, "\tr := %s(%s)\n", cname, > strings.Join(paramnames, ", ")) > - fmt.Fprintf(fgo2, "\treturn r, > syscall.GetErrno()\n") > + fmt.Fprintf(fgo2, "\te := syscall.GetErrno()\n") > + fmt.Fprintf(fgo2, "\tif e != 0 {\n") > + fmt.Fprintf(fgo2, "\t\treturn r, e\n") > + fmt.Fprintf(fgo2, "\t}\n") > + fmt.Fprintf(fgo2, "\treturn r, nil\n") > fmt.Fprintf(fgo2, "}\n") > // declare the C function. > fmt.Fprintf(fgo2, "//extern %s\n", n.C) > > >
*** Submitted as http://code.google.com/p/go/source/detail?r=15a98eba66e0 *** cmd/cgo: fix handling of errno for gccgo Fixes issue 3332. R=golang-dev, bradfitz CC=golang-dev http://codereview.appspot.com/5868047