1
0
mirror of https://github.com/golang/go synced 2024-11-25 01:08:02 -07:00

cgo, gotest: use error instead of os.Error in generated code

R=golang-dev, iant
CC=golang-dev
https://golang.org/cl/5319057
This commit is contained in:
Russ Cox 2011-11-01 21:49:22 -04:00
parent 08a073a180
commit c8ad1a4dc4
3 changed files with 6 additions and 7 deletions

View File

@ -59,7 +59,7 @@ struct_, union_, or enum_, as in C.struct_stat.
Any C function that returns a value may be called in a multiple
assignment context to retrieve both the return value and the
C errno variable as an os.Error. For example:
C errno variable as an error. For example:
n, err := C.atoi("abc")

View File

@ -48,7 +48,7 @@ func (p *Package) writeDefs() {
fmt.Fprintf(fgo2, "import \"os\"\n\n")
fmt.Fprintf(fgo2, "import _ \"runtime/cgo\"\n\n")
fmt.Fprintf(fgo2, "type _ unsafe.Pointer\n\n")
fmt.Fprintf(fgo2, "func _Cerrno(dst *os.Error, x int) { *dst = os.Errno(x) }\n")
fmt.Fprintf(fgo2, "func _Cerrno(dst *error, x int) { *dst = os.Errno(x) }\n")
for name, def := range typedef {
fmt.Fprintf(fgo2, "type %s ", name)
@ -203,7 +203,7 @@ func (p *Package) structType(n *Name) (string, int64) {
off += pad
}
if n.AddError {
fmt.Fprint(&buf, "\t\tvoid *e[2]; /* os.Error */\n")
fmt.Fprint(&buf, "\t\tvoid *e[2]; /* error */\n")
off += 2 * p.PtrSize
}
if off == 0 {
@ -217,9 +217,9 @@ func (p *Package) writeDefsFunc(fc, fgo2 *os.File, n *Name) {
name := n.Go
gtype := n.FuncType.Go
if n.AddError {
// Add "os.Error" to return type list.
// Add "error" to return type list.
// Type list is known to be 0 or 1 element - it's a C function.
err := &ast.Field{Type: ast.NewIdent("os.Error")}
err := &ast.Field{Type: ast.NewIdent("error")}
l := gtype.Results.List
if len(l) == 0 {
l = []*ast.Field{err}

View File

@ -401,7 +401,6 @@ func writeTestmainGo() {
fmt.Fprintf(b, "import target_test %q\n", "./_xtest_")
}
fmt.Fprintf(b, "import %q\n", "testing")
fmt.Fprintf(b, "import %q\n", "os")
fmt.Fprintf(b, "import %q\n", "regexp")
fmt.Fprintln(b) // for gofmt
@ -454,7 +453,7 @@ var testBody = `
var matchPat string
var matchRe *regexp.Regexp
func matchString(pat, str string) (result bool, err os.Error) {
func matchString(pat, str string) (result bool, err error) {
if matchRe == nil || matchPat != pat {
matchPat = pat
matchRe, err = regexp.Compile(matchPat)