mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-04-29 19:30:36 +02:00
Define Scheme bindings to ‘openat’ when available.
* configure.ac: Detect if ‘openat’ is defined. * libguile/filesys.c (flags_to_mode): Extract from ... (scm_mode): ... here. (scm_open_fdes_at, scm_openat): Define the Scheme bindings. * libguile/filesys.h (scm_open_fdes_at, scm_openat): Make them part of the API. * doc/ref/posix.texi (File System): Document them. * test-suite/tests/filesys.test ("openat"): Test ‘openat’. * libguile/syscalls.h (openat_or_openat64): Decide between ‘openat’ and ‘openat64’. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
cf255dd3a4
commit
c8b81ffb34
6 changed files with 169 additions and 23 deletions
|
@ -509,7 +509,7 @@ AC_CHECK_HEADERS([crt_externs.h])
|
|||
# isblank - available as a GNU extension or in C99
|
||||
# _NSGetEnviron - Darwin specific
|
||||
# strcoll_l, newlocale, uselocale, utimensat, futimens, fchmodat,
|
||||
# unlinkat, fchownat, fstatat - POSIX.1-2008
|
||||
# unlinkat, fchownat, fstatat, openat - POSIX.1-2008
|
||||
# strtol_l - non-POSIX, found in glibc
|
||||
# fork - unavailable on Windows
|
||||
# sched_getaffinity, sched_setaffinity - GNU extensions (glibc)
|
||||
|
@ -527,7 +527,8 @@ AC_CHECK_FUNCS([DINFINITY DQNAN cexp chsize clog clog10 ctermid \
|
|||
getgrent kill getppid getpgrp fork setitimer getitimer strchr strcmp \
|
||||
index bcopy rindex truncate isblank _NSGetEnviron \
|
||||
strcoll_l strtod_l strtol_l newlocale uselocale utimensat \
|
||||
fstatat futimens sched_getaffinity sched_setaffinity sendfile pipe2])
|
||||
fstatat futimens openat \
|
||||
sched_getaffinity sched_setaffinity sendfile pipe2])
|
||||
|
||||
# The newlib C library uses _NL_ prefixed locale langinfo constants.
|
||||
AC_CHECK_DECLS([_NL_NUMERIC_GROUPING], [], [], [[#include <langinfo.h>]])
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue