From: Jim Meyering Date: Sat, 6 May 2000 14:25:18 +0000 (+0000) Subject: (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file. X-Git-Tag: SH-UTILS-2_0h~41 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=884af44da8de0a378a4b8b9b2b7ad2cd4df15a23;p=platform%2Fupstream%2Fcoreutils.git (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file. --- diff --git a/m4/rmdir-errno.m4 b/m4/rmdir-errno.m4 new file mode 100644 index 0000000..f7d8669 --- /dev/null +++ b/m4/rmdir-errno.m4 @@ -0,0 +1,43 @@ +#serial 1 + +# When rmdir fails because the specified directory is not empty, it sets +# errno to some value, usually ENOTEMPTY. However, on some AIX systems, +# ENOTEMPTY is mistakenly defined to be EEXIST. To work around this, and +# in general, to avoid depending on the use of any particular symbol, this +# test runs a test to determine the actual numeric value. +AC_DEFUN(fetish_FUNC_RMDIR_NOTEMPTY, +[dnl + AC_CACHE_CHECK([for rmdir-not-empty errno value], + fetish_cv_func_rmdir_errno_not_empty, + [ + # Arrange for deletion of the temporary directory this test creates. + ac_clean_files="$ac_clean_files confdir2" + mkdir confdir2; : > confdir2/file + AC_TRY_RUN([ +#include +#include +#ifndef errno +extern int errno; +#endif + int main () + { + FILE *s; + int val; + rmdir ("confdir2"); + val = errno; + s = fopen ("confdir2/file", "w"); + fprintf (s, "%d\n", val); + exit (0); + } + ], + fetish_cv_func_rmdir_errno_not_empty=`cat confdir2/file`, + fetish_cv_func_rmdir_errno_not_empty='configure error in rmdir-errno.m4', + fetish_cv_func_rmdir_errno_not_empty=ENOTEMPTY + ) + ] + ) + + AC_DEFINE_UNQUOTED([RMDIR_ERRNO_NOT_EMPTY], + $fetish_cv_func_rmdir_errno_not_empty, + [the value to which errno is set when rmdir fails on a nonempty directory]) +])