]> Cypherpunks repositories - gostls13.git/commitdiff
Adding Mkdir.
authorCary Hull <chull@google.com>
Thu, 9 Oct 2008 07:15:37 +0000 (00:15 -0700)
committerCary Hull <chull@google.com>
Thu, 9 Oct 2008 07:15:37 +0000 (00:15 -0700)
R=rsc
APPROVED=rsc
DELTA=21  (21 added, 0 deleted, 0 changed)
OCL=16794
CL=16803

src/lib/os/os_file.go
src/lib/syscall/file_darwin.go
src/lib/syscall/file_linux.go

index 3fa62ba7cac71217bef1f246fd4825b3a3469c77..ba71d836da6f2bf8121e7b0ac23cab9c25cb87bd 100644 (file)
@@ -91,3 +91,8 @@ export func Pipe() (fd1 *FD, fd2 *FD, err *Error) {
        }
        return NewFD(p[0]), NewFD(p[1]), nil
 }
+
+export func Mkdir(name string, perm int) *Error {
+       r, e := syscall.mkdir(name, int64(perm));
+       return ErrnoToError(e)
+}
index 120003b2884e572de404b45f0853b361043be8a9..4a2072d4d561081bfa0875c82a76252cf96779dc 100644 (file)
@@ -86,3 +86,11 @@ export func fcntl(fd, cmd, arg int64) (ret int64, errno int64) {
        return r1, err
 }
 
+export func mkdir(name string, perm int64) (ret int64, errno int64) {
+       var namebuf [NameBufsize]byte;
+       if !StringToBytes(&namebuf, name) {
+               return -1, ENAMETOOLONG
+       }
+       r1, r2, err := Syscall(SYS_MKDIR, BytePtr(&namebuf[0]), perm, 0);
+       return r1, err;
+}
index 09d5379c2794681580afdcbc34279eb04ea84a9d..af7728a6b1d30179c429f3b0092f51b83c925e75 100644 (file)
@@ -87,3 +87,11 @@ export func fcntl(fd, cmd, arg int64) (ret int64, errno int64) {
        return r1, err
 }
 
+export func mkdir(name string, perm int64) (ret int64, errno int64) {
+       var namebuf [NameBufsize]byte;
+       if !StringToBytes(&namebuf, name) {
+               return -1, ENAMETOOLONG
+       }
+       r1, r2, err := Syscall(SYS_MKDIR, BytePtr(&namebuf[0]), perm, 0);
+       return r1, err;
+}