diff options
author | rmanfredi <rmanfredi@2592e710-e01b-42a5-8df0-11608a6cc53d> | 2015-04-18 12:14:30 +0000 |
---|---|---|
committer | rmanfredi <rmanfredi@2592e710-e01b-42a5-8df0-11608a6cc53d> | 2015-04-18 12:14:30 +0000 |
commit | 0b59236f0ff7fb29f3537b88bdc610a4e5a9571a (patch) | |
tree | 402cd0ef9ae3bd3876578805f56f6fcdebebbf12 | |
parent | 9f01c0c4d1fbc84af7cb19e8b9547dd641fff945 (diff) |
Added check for openat().
git-svn-id: svn://svn.code.sf.net/p/dist/code/trunk/dist@189 2592e710-e01b-42a5-8df0-11608a6cc53d
-rw-r--r-- | MANIFEST | 1 | ||||
-rw-r--r-- | mcon/U/d_openat.U | 41 |
2 files changed, 42 insertions, 0 deletions
@@ -324,6 +324,7 @@ mcon/U/d_nls.U Do we support NLS? mcon/U/d_nolnbuf.U Is stdout line buffered? mcon/U/d_normsig.U signal() vs sigset() mcon/U/d_open3.U Do we have the 3 arguments form for open()? +mcon/U/d_openat.U Do we have openat()? mcon/U/d_passwd.U Do we have passwd()? mcon/U/d_pathconf.U Do we have pathconf()? mcon/U/d_pause.U Do we have pause()? diff --git a/mcon/U/d_openat.U b/mcon/U/d_openat.U new file mode 100644 index 0000000..d7f8269 --- /dev/null +++ b/mcon/U/d_openat.U @@ -0,0 +1,41 @@ +?RCS: +?RCS: Copyright (c) 2015 Raphael Manfredi +?RCS: +?RCS: You may redistribute only under the terms of the Artistic License, +?RCS: as specified in the README file that comes with the distribution. +?RCS: You may reuse parts of this distribution only within the terms of +?RCS: that same Artistic License; a copy of which may be found at the root +?RCS: of the source tree for dist 4.0. +?RCS: +?MAKE:d_openat: Trylink cat i_fcntl +?MAKE: -pick add $@ %< +?S:d_openat: +?S: This variable conditionally defines HAS_OPENAT if openat() is +?S: available to open files with a relative path interepreted in +?S: the context of an opened directory. +?S:. +?C:HAS_OPENAT: +?C: This symbol, if defined, indicates that the openat() routine is +?C: available to open files with a relative path interepreted in +?C: the context of an opened directory. +?C:. +?H:#$d_openat HAS_OPENAT /**/ +?H:. +?LINT:set d_openat +: see if openat exists +$cat >try.c <<EOC +#$i_fcntl I_FCNTL +#ifdef I_FCNTL +#include <fcntl.h> /* AT_* constants */ +#endif +int main(void) +{ + static int ret; + ret |= openat(AT_FDCWD, "path", /* flags */ 0, /* mode */ 0); + return ret ? 0 : 1; +} +EOC +cyn=openat +set d_openat +eval $trylink + |