mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-20 11:40:18 +02:00
Rely on Gnulib for fsync, link, readlink, mkdir, rmdir, and rename.
* libguile/filesys.c: Remove 'fsync' wrapper for MinGW. (scm_link, scm_readlink, scm_mkdir, scm_rmdir): Define these unconditionally. (my_rename): Remove. (scm_rename): Use 'rename' instead of 'my_rename'.
This commit is contained in:
parent
3243fffcc1
commit
ca6adcc6df
1 changed files with 2 additions and 36 deletions
|
@ -1,5 +1,5 @@
|
|||
/* Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2004, 2006,
|
||||
* 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
|
||||
* 2009, 2010, 2011, 2012, 2013, 2014 Free Software Foundation, Inc.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public License
|
||||
|
@ -110,12 +110,6 @@
|
|||
#include <full-write.h>
|
||||
|
||||
|
||||
/* Some more definitions for the native Windows port. */
|
||||
#ifdef __MINGW32__
|
||||
# define fsync(fd) _commit (fd)
|
||||
#endif /* __MINGW32__ */
|
||||
|
||||
|
||||
|
||||
|
||||
/* Two helper macros for an often used pattern */
|
||||
|
@ -590,7 +584,6 @@ SCM_DEFINE (scm_lstat, "lstat", 1, 0, 0,
|
|||
/* {Modifying Directories}
|
||||
*/
|
||||
|
||||
#ifdef HAVE_LINK
|
||||
SCM_DEFINE (scm_link, "link", 2, 0, 0,
|
||||
(SCM oldpath, SCM newpath),
|
||||
"Creates a new name @var{newpath} in the file system for the\n"
|
||||
|
@ -609,7 +602,6 @@ SCM_DEFINE (scm_link, "link", 2, 0, 0,
|
|||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
#endif /* HAVE_LINK */
|
||||
|
||||
|
||||
/* {Navigating Directories}
|
||||
|
@ -1012,7 +1004,6 @@ SCM_DEFINE (scm_symlink, "symlink", 2, 0, 0,
|
|||
#undef FUNC_NAME
|
||||
#endif /* HAVE_SYMLINK */
|
||||
|
||||
#ifdef HAVE_READLINK
|
||||
SCM_DEFINE (scm_readlink, "readlink", 1, 0, 0,
|
||||
(SCM path),
|
||||
"Return the value of the symbolic link named by @var{path} (a\n"
|
||||
|
@ -1051,7 +1042,6 @@ SCM_DEFINE (scm_readlink, "readlink", 1, 0, 0,
|
|||
return result;
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
#endif /* HAVE_READLINK */
|
||||
|
||||
SCM_DEFINE (scm_copy_file, "copy-file", 2, 0, 0,
|
||||
(SCM oldfile, SCM newfile),
|
||||
|
@ -1254,7 +1244,6 @@ SCM_DEFINE (scm_getcwd, "getcwd", 0, 0, 0,
|
|||
#undef FUNC_NAME
|
||||
#endif /* HAVE_GETCWD */
|
||||
|
||||
#ifdef HAVE_MKDIR
|
||||
SCM_DEFINE (scm_mkdir, "mkdir", 1, 1, 0,
|
||||
(SCM path, SCM mode),
|
||||
"Create a new directory named by @var{path}. If @var{mode} is omitted\n"
|
||||
|
@ -1281,9 +1270,7 @@ SCM_DEFINE (scm_mkdir, "mkdir", 1, 1, 0,
|
|||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
#endif /* HAVE_MKDIR */
|
||||
|
||||
#ifdef HAVE_RMDIR
|
||||
SCM_DEFINE (scm_rmdir, "rmdir", 1, 0, 0,
|
||||
(SCM path),
|
||||
"Remove the existing directory named by @var{path}. The directory must\n"
|
||||
|
@ -1298,27 +1285,6 @@ SCM_DEFINE (scm_rmdir, "rmdir", 1, 0, 0,
|
|||
return SCM_UNSPECIFIED;
|
||||
}
|
||||
#undef FUNC_NAME
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_RENAME
|
||||
#define my_rename rename
|
||||
#else
|
||||
static int
|
||||
my_rename (const char *oldname, const char *newname)
|
||||
{
|
||||
int rv;
|
||||
|
||||
SCM_SYSCALL (rv = link (oldname, newname));
|
||||
if (rv == 0)
|
||||
{
|
||||
SCM_SYSCALL (rv = unlink (oldname));
|
||||
if (rv != 0)
|
||||
/* unlink failed. remove new name */
|
||||
SCM_SYSCALL (unlink (newname));
|
||||
}
|
||||
return rv;
|
||||
}
|
||||
#endif
|
||||
|
||||
SCM_DEFINE (scm_rename, "rename-file", 2, 0, 0,
|
||||
(SCM oldname, SCM newname),
|
||||
|
@ -1330,7 +1296,7 @@ SCM_DEFINE (scm_rename, "rename-file", 2, 0, 0,
|
|||
|
||||
STRING2_SYSCALL (oldname, c_oldname,
|
||||
newname, c_newname,
|
||||
rv = my_rename (c_oldname, c_newname));
|
||||
rv = rename (c_oldname, c_newname));
|
||||
if (rv != 0)
|
||||
SCM_SYSERROR;
|
||||
return SCM_UNSPECIFIED;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue