From: Paul Eggert Date: Thu, 5 Oct 2006 21:39:12 +0000 (+0000) Subject: * src/dd.c (flags): noatime and nofollow now depend on X-Git-Tag: COREUTILS-6_4~70 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=1fa3b5014035f324ddec26576c0283d00bfbbbef;p=platform%2Fupstream%2Fcoreutils.git * src/dd.c (flags): noatime and nofollow now depend on HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, too. (usage): Output info about noatime and nofollow only if they are known to work. * src/remove.c (AD_push): Inspect HAVE_WORKING_O_NOFOLLOW rather than O_NOFOLLOW, when testing whether it's possible to avoid a race condition reliably. --- diff --git a/ChangeLog b/ChangeLog index 1ebe1cd..f394bb4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2006-10-05 Paul Eggert + + * src/dd.c (flags): noatime and nofollow now depend on + HAVE_WORKING_O_NOATIME and HAVE_WORKING_O_NOFOLLOW, too. + (usage): Output info about noatime and nofollow only if + they are known to work. + * src/remove.c (AD_push): Inspect HAVE_WORKING_O_NOFOLLOW rather + than O_NOFOLLOW, when testing whether it's possible to avoid a + race condition reliably. + 2006-10-05 Jim Meyering * tests/install/basic-1: Skip the latter part of this test if the diff --git a/src/dd.c b/src/dd.c index 211c731..4a052c3 100644 --- a/src/dd.c +++ b/src/dd.c @@ -265,9 +265,9 @@ static struct symbol_value const flags[] = {"direct", O_DIRECT}, {"directory", O_DIRECTORY}, {"dsync", O_DSYNC}, - {"noatime", O_NOATIME}, + {"noatime", HAVE_WORKING_O_NOATIME ? O_NOATIME : 0}, {"noctty", O_NOCTTY}, - {"nofollow", O_NOFOLLOW}, + {"nofollow", HAVE_WORKING_O_NOFOLLOW ? O_NOFOLLOW : 0}, {"nolinks", O_NOLINKS}, {"nonblock", O_NONBLOCK}, {"sync", O_SYNC}, @@ -470,12 +470,12 @@ Each FLAG symbol may be:\n\ fputs (_(" sync likewise, but also for metadata\n"), stdout); if (O_NONBLOCK) fputs (_(" nonblock use non-blocking I/O\n"), stdout); - if (O_NOATIME) + if (HAVE_WORKING_O_NOATIME) fputs (_(" noatime do not update access time\n"), stdout); if (O_NOCTTY) fputs (_(" noctty do not assign controlling terminal from file\n"), stdout); - if (O_NOFOLLOW) + if (HAVE_WORKING_O_NOFOLLOW) fputs (_(" nofollow do not follow symlinks\n"), stdout); if (O_NOLINKS) fputs (_(" nolinks fail if multiply-linked\n"), stdout); diff --git a/src/remove.c b/src/remove.c index 13a6e27..d362db0 100644 --- a/src/remove.c +++ b/src/remove.c @@ -621,7 +621,7 @@ AD_push (int fd_cwd, Dirstack_state *ds, char const *dir, /* If our uses of openat are guaranteed not to follow a symlink, then we can skip this check. */ - if ( ! O_NOFOLLOW) + if (! HAVE_WORKING_O_NOFOLLOW) { struct stat sb; if (fstat (fd_cwd, &sb) != 0)