X-Git-Url: http://git.hcoop.net/bpt/guile.git/blobdiff_plain/b8bc86bce147cf280ca2a60d36c8b6493cbf11e8..2aed2667fce5ccb115667a36ffd368c4c3b6e9f4:/libguile/filesys.c diff --git a/libguile/filesys.c b/libguile/filesys.c index 8e90eed3e..3d5b1fb3e 100644 --- a/libguile/filesys.c +++ b/libguile/filesys.c @@ -103,9 +103,7 @@ /* Some more definitions for the native Windows port. */ #ifdef __MINGW32__ -# define mkdir(path, mode) mkdir (path) # define fsync(fd) _commit (fd) -# define fchmod(fd, mode) (-1) #endif /* __MINGW32__ */ @@ -1336,12 +1334,13 @@ SCM_DEFINE (scm_chmod, "chmod", 2, 0, 0, #define FUNC_NAME s_scm_chmod { int rv; - int fdes; object = SCM_COERCE_OUTPORT (object); +#if HAVE_FCHMOD if (scm_is_integer (object) || SCM_OPFPORTP (object)) { + int fdes; if (scm_is_integer (object)) fdes = scm_to_int (object); else @@ -1349,6 +1348,7 @@ SCM_DEFINE (scm_chmod, "chmod", 2, 0, 0, SCM_SYSCALL (rv = fchmod (fdes, scm_to_int (mode))); } else +#endif { STRING_SYSCALL (object, c_object, rv = chmod (c_object, scm_to_int (mode)));