diff options
| author | Rob Pike <r@golang.org> | 2009-01-09 15:16:31 -0800 | 
|---|---|---|
| committer | Rob Pike <r@golang.org> | 2009-01-09 15:16:31 -0800 | 
| commit | bc23ce679061b8f41f551578181b9feeb24f5c0a (patch) | |
| tree | 64f4931996e82c6dff92d3c7647814b7c43469b3 /doc/progs/fd.go | |
| parent | 0509e08028f63b53b65f294e06d603ccfdb76c22 (diff) | |
| download | golang-bc23ce679061b8f41f551578181b9feeb24f5c0a.tar.gz | |
update tutorial to new language.
add a section on printing
add a section on allocation
R=rsc
DELTA=500  (278 added, 15 deleted, 207 changed)
OCL=22381
CL=22456
Diffstat (limited to 'doc/progs/fd.go')
| -rw-r--r-- | doc/progs/fd.go | 46 | 
1 files changed, 23 insertions, 23 deletions
| diff --git a/doc/progs/fd.go b/doc/progs/fd.go index 76b784f83..4c3ac1587 100644 --- a/doc/progs/fd.go +++ b/doc/progs/fd.go @@ -4,21 +4,21 @@  package fd -import Syscall "syscall" +import ( +	"os"; +	"syscall"; +)  export type FD struct { -	fildes	int64;	// file descriptor number -	name	string;	// file name at Open time +	fildes  int64;  // file descriptor number +	name    string; // file name at Open time  }  func NewFD(fd int64, name string) *FD {  	if fd < 0 {  		return nil  	} -	n := new(FD); -	n.fildes = fd; -	n.name = name; -	return n +	return &FD{fd, name}  }  export var ( @@ -27,36 +27,36 @@ export var (  	Stderr = NewFD(2, "/dev/stderr");  ) -export func Open(name string, mode int64, perm int64) (fd *FD, errno int64) { -	r, e := Syscall.open(name, mode, perm); -	return NewFD(r, name), e +export func Open(name string, mode int64, perm int64) (fd *FD, err *os.Error) { +	r, e := syscall.open(name, mode, perm); +	return NewFD(r, name), os.ErrnoToError(e)  } -func (fd *FD) Close() int64 { +func (fd *FD) Close() *os.Error {  	if fd == nil { -		return Syscall.EINVAL +		return os.EINVAL  	} -	r, e := Syscall.close(fd.fildes); +	r, e := syscall.close(fd.fildes);  	fd.fildes = -1;  // so it can't be closed again -	return 0 +	return nil  } -func (fd *FD) Read(b []byte) (ret int64, errno int64) { +func (fd *FD) Read(b []byte) (ret int, err *os.Error) {  	if fd == nil { -		return -1, Syscall.EINVAL +		return -1, os.EINVAL  	} -	r, e := Syscall.read(fd.fildes, &b[0], int64(len(b))); -	return r, e +	r, e := syscall.read(fd.fildes, &b[0], int64(len(b))); +	return int(r), os.ErrnoToError(e)  } -func (fd *FD) Write(b []byte) (ret int64, errno int64) { +func (fd *FD) Write(b []byte) (ret int, err *os.Error) {  	if fd == nil { -		return -1, Syscall.EINVAL +		return -1, os.EINVAL  	} -	r, e := Syscall.write(fd.fildes, &b[0], int64(len(b))); -	return r, e +	r, e := syscall.write(fd.fildes, &b[0], int64(len(b))); +	return int(r), os.ErrnoToError(e)  } -func (fd *FD) Name() string { +func (fd *FD) String() string {  	return fd.name  } | 
