1
0
mirror of git://git.sv.gnu.org/coreutils.git synced 2026-04-20 10:51:48 +02:00

Don't assume that 'exit' is declared for us.

Don't assume that you can exit with status -1.
(import from gnulib)
This commit is contained in:
Paul Eggert
2006-04-24 07:40:00 +00:00
parent 79aba863ce
commit 779532f556
8 changed files with 60 additions and 40 deletions

View File

@@ -1,3 +1,18 @@
2006-04-24 Paul Eggert <eggert@cs.ucla.edu>
* fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
Don't assume that exit status -1 is valid.
* nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
* putenv.m4 (gl_FUNC_PUTENV): Likewise.
* rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
* readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
* rename.m4 (vb_FUNC_RENAME): Likewise.
* unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
not AC_TRY_RUN. Use return, not exit. Don't assume that
functions can be used without declaring them, or that you can
exit with status -1.
* utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
2006-04-17 Paul Eggert <eggert@cs.ucla.edu>
* filemode.m4 (gl_FILEMODE): Check for strmode declaration.

View File

@@ -1,7 +1,7 @@
#serial 16
#serial 17
# Obtaining file system usage information.
# Copyright (C) 1997, 1998, 2000, 2001, 2003, 2004, 2005 Free Software
# Copyright (C) 1997, 1998, 2000, 2001, 2003, 2004, 2005, 2006 Free Software
# Foundation, Inc.
#
# This file is free software; the Free Software Foundation
@@ -78,7 +78,7 @@ if test $ac_fsusage_space = no; then
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd, sizeof (struct statfs)));
return statfs (".", &fsd, sizeof (struct statfs)) != 0;
}],
fu_cv_sys_stat_statfs3_osf1=yes,
fu_cv_sys_stat_statfs3_osf1=no,
@@ -110,7 +110,7 @@ member (AIX, 4.3BSD)])
{
struct statfs fsd;
fsd.f_bsize = 0;
exit (statfs (".", &fsd));
return statfs (".", &fsd) != 0;
}],
fu_cv_sys_stat_statfs2_bsize=yes,
fu_cv_sys_stat_statfs2_bsize=no,
@@ -133,7 +133,7 @@ if test $ac_fsusage_space = no; then
main ()
{
struct statfs fsd;
exit (statfs (".", &fsd, sizeof fsd, 0));
return statfs (".", &fsd, sizeof fsd, 0) != 0;
}],
fu_cv_sys_stat_statfs4=yes,
fu_cv_sys_stat_statfs4=no,
@@ -162,7 +162,7 @@ member (4.4BSD and NetBSD)])
{
struct statfs fsd;
fsd.f_fsize = 0;
exit (statfs (".", &fsd));
return statfs (".", &fsd) != 0;
}],
fu_cv_sys_stat_statfs2_fsize=yes,
fu_cv_sys_stat_statfs2_fsize=no,
@@ -195,7 +195,7 @@ if test $ac_fsusage_space = no; then
struct fs_data fsd;
/* Ultrix's statfs returns 1 for success,
0 for not mounted, -1 for failure. */
exit (statfs (".", &fsd) != 1);
return statfs (".", &fsd) != 1;
}],
fu_cv_sys_stat_fs_data=yes,
fu_cv_sys_stat_fs_data=no,

View File

@@ -1,4 +1,4 @@
#serial 15
#serial 16
dnl From Jim Meyering.
dnl Check for the nanosleep function.
@@ -51,7 +51,7 @@ AC_DEFUN([gl_FUNC_NANOSLEEP],
struct timespec ts_sleep, ts_remaining;
ts_sleep.tv_sec = 0;
ts_sleep.tv_nsec = 1;
exit (nanosleep (&ts_sleep, &ts_remaining) == 0 ? 0 : 1);
return nanosleep (&ts_sleep, &ts_remaining) != 0;
}
],
jm_cv_func_nanosleep_works=yes,

View File

@@ -1,5 +1,5 @@
# putenv.m4 serial 10
dnl Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc.
# putenv.m4 serial 11
dnl Copyright (C) 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
dnl This file is free software; the Free Software Foundation
dnl gives unlimited permission to copy and/or distribute it,
dnl with or without modifications, as long as this notice is preserved.
@@ -17,17 +17,17 @@ AC_DEFUN([gl_FUNC_PUTENV],
{
/* Put it in env. */
if (putenv ("CONFTEST_putenv=val"))
exit (1);
return 1;
/* Try to remove it. */
if (putenv ("CONFTEST_putenv"))
exit (1);
return 1;
/* Make sure it was deleted. */
if (getenv ("CONFTEST_putenv") != 0)
exit (1);
return 1;
exit (0);
return 0;
}
],
jm_cv_func_svid_putenv=yes,

View File

@@ -1,6 +1,6 @@
#serial 8
#serial 9
# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
# Copyright (C) 2001, 2003, 2005, 2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -23,6 +23,7 @@ AC_DEFUN([vb_FUNC_RENAME],
AC_MSG_ERROR([cannot create temporary directory])
AC_TRY_RUN([
# include <stdio.h>
# include <stdlib.h>
int
main ()
{

View File

@@ -1,6 +1,6 @@
#serial 5
#serial 6
# Copyright (C) 2000, 2001, 2005 Free Software Foundation, Inc.
# Copyright (C) 2000, 2001, 2005, 2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -32,7 +32,7 @@ extern int errno;
val = errno;
s = fopen ("confdir2/errno", "w");
fprintf (s, "%d\n", val);
exit (0);
return 0;
}
],
gl_cv_func_rmdir_errno_not_empty=`cat confdir2/errno`,

View File

@@ -1,10 +1,10 @@
#serial 8
#serial 9
dnl From J. David Anglin.
dnl HPUX and other systems can't unlink shared text that is being executed.
# Copyright (C) 2000, 2001, 2004 Free Software Foundation, Inc.
# Copyright (C) 2000, 2001, 2004, 2006 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -14,16 +14,16 @@ AC_DEFUN([gl_FUNC_UNLINK_BUSY_TEXT],
AC_CACHE_CHECK([whether a running program can be unlinked],
jm_cv_func_unlink_busy_text,
[
AC_TRY_RUN([
main (argc, argv)
int argc;
char **argv;
{
if (!argc)
exit (-1);
exit (unlink (argv[0]));
}
],
AC_RUN_IFELSE(
[AC_LANG_SOURCE(
[AC_INCLUDES_DEFAULT
int
main (argc, argv)
int argc;
char **argv;
{
return !argc || unlink (argv[0]) != 0;
}])],
jm_cv_func_unlink_busy_text=yes,
jm_cv_func_unlink_busy_text=no,
jm_cv_func_unlink_busy_text=no

View File

@@ -1,6 +1,8 @@
#serial 6
#serial 7
# Copyright (C) 1998, 1999, 2001, 2003, 2004, 2006 Free Software
# Foundation, Inc.
# Copyright (C) 1998, 1999, 2001, 2003, 2004 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -16,13 +18,15 @@ AC_TRY_RUN([
#undef stat
#include <sys/types.h>
#include <sys/stat.h>
main() {
#include <sys/time.h>
int
main () {
struct stat s, t;
exit(!(stat ("conftest.data", &s) == 0
&& utimes("conftest.data", (long *)0) == 0
&& stat("conftest.data", &t) == 0
&& t.st_mtime >= s.st_mtime
&& t.st_mtime - s.st_mtime < 120));
return ! (stat ("conftest.data", &s) == 0
&& utimes ("conftest.data", 0) == 0
&& stat ("conftest.data", &t) == 0
&& t.st_mtime >= s.st_mtime
&& t.st_mtime - s.st_mtime < 120));
}],
ac_cv_func_utimes_null=yes,
ac_cv_func_utimes_null=no,