Rui Ueyama
rui31****@gmail*****
2006年 12月 27日 (水) 15:10:15 JST
こんにちは。 fchmod(2)相当の手続きが欲しいのですがGaucheに入れて もらえないでしょうか。このような手続きでよいと思います。 Index: src/syslib.stub =================================================================== RCS file: /cvsroot/gauche/Gauche/src/syslib.stub,v retrieving revision 1.117 diff -u -u -0 -r1.117 syslib.stub --- src/syslib.stub 30 Nov 2006 23:55:02 -0000 1.117 +++ src/syslib.stub 27 Dec 2006 05:52:40 -0000 @@ -590,0 +591,7 @@ +(define-cproc sys-fchmod (port-or-fd mode::<int>) + (body " int fd = Scm_GetPortFd(port_or_fd, FALSE), r;" + "if (fd < 0) Scm_Error(\"port is not associated to a file: %S\", port_or_fd);" + "SCM_SYSCALL(r, fchmod(fd, mode));" + "if (r < 0) Scm_SysError(\"fchmod failed\");" + "SCM_RESULT = SCM_TRUE;")) + Index: test/system.scm =================================================================== RCS file: /cvsroot/gauche/Gauche/test/system.scm,v retrieving revision 1.35 diff -u -u -0 -r1.35 system.scm --- test/system.scm 26 Mar 2006 06:17:28 -0000 1.35 +++ test/system.scm 27 Dec 2006 05:52:40 -0000 @@ -204,0 +205,6 @@ +(test* "fchmod" "drwxr-x---" + (begin + (call-with-input-file "test.dir" + (cut sys-fchmod <> #o750)) + (get-lsmode "test.dir"))) + -- 植山 類