summaryrefslogtreecommitdiff
path: root/m4/chdir.m4
blob: c3268b30c3034d6b96ce2015c7db8dac9eeab4a3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#serial 1

# From Jim Meyering.
# Use Gnulib's robust replacement chdir function.
# It can handle arbitrarily long directory names, which means
# that when it is given the name of an existing directory, it
# never fails with ENAMETOOLONG.
#
# FIXME: we don't really want to use this function on systems that
# do not define PATH_MAX...
#
# It still fails with ENAMETOOLONG if the specified directory
# name contains a component that would provoke such a failure
# all by itself (e.g. if the component is longer than PATH_MAX
# on systems that define PATH_MAX).

AC_DEFUN([gl_FUNC_CHDIR],
[
  AC_LIBOBJ([chdir])
  AC_DEFINE([__CHDIR_PREFIX], [[rpl_]],
    [Define to rpl_ if the chdir replacement function should be used.])
  gl_PREREQ_CHDIR
])

AC_DEFUN([gl_PREREQ_CHDIR],
[
  AM_STDBOOL_H
  gl_FUNC_MEMPCPY
  gl_FUNC_OPENAT
])