From 61ba160120bcb5b5141fc95fa3ec232d577b9bfb Mon Sep 17 00:00:00 2001 From: Russ Cox Date: Tue, 7 Apr 2009 00:40:36 -0700 Subject: Chdir R=r DELTA=17 (17 added, 0 deleted, 0 changed) OCL=27146 CL=27153 --- src/lib/syscall/file_darwin.go | 6 ++++++ src/lib/syscall/file_linux.go | 5 +++++ 2 files changed, 11 insertions(+) (limited to 'src/lib/syscall') diff --git a/src/lib/syscall/file_darwin.go b/src/lib/syscall/file_darwin.go index 5d128f743c..b0777b5df4 100644 --- a/src/lib/syscall/file_darwin.go +++ b/src/lib/syscall/file_darwin.go @@ -98,3 +98,9 @@ func Getdirentries(fd int64, buf *byte, nbytes int64, basep *int64) (ret int64, r1, r2, err := Syscall6(SYS_GETDIRENTRIES64, fd, int64(uintptr(unsafe.Pointer(buf))), nbytes, int64(uintptr(unsafe.Pointer(basep))), 0, 0); return r1, err; } + +func Chdir(dir string) (ret int64, errno int64) { + namebuf := StringBytePtr(dir); + r1, r2, err := Syscall(SYS_CHDIR, int64(uintptr(unsafe.Pointer(namebuf))), 0, 0); + return r1, err; +} diff --git a/src/lib/syscall/file_linux.go b/src/lib/syscall/file_linux.go index ceb0a85d76..9bf4408846 100644 --- a/src/lib/syscall/file_linux.go +++ b/src/lib/syscall/file_linux.go @@ -100,3 +100,8 @@ func Getdents(fd int64, buf *Dirent, nbytes int64) (ret int64, errno int64) { return r1, err; } +func Chdir(dir string) (ret int64, errno int64) { + namebuf := StringBytePtr(dir); + r1, r2, err := Syscall(SYS_CHDIR, int64(uintptr(unsafe.Pointer(namebuf))), 0, 0); + return r1, err; +} -- cgit v1.3