aboutsummaryrefslogtreecommitdiffstats
path: root/src/test.c
diff options
context:
space:
mode:
authorCollin Funk <collin.funk1@gmail.com>2025-09-02 22:25:46 -0700
committerCollin Funk <collin.funk1@gmail.com>2025-09-03 18:31:08 -0700
commite09f2bc61193627764a02cce080c7145ee866c52 (patch)
tree3144e9b832c7b22cacf92332adeba582fa968d80 /src/test.c
parentbuild: update gnulib submodule to latest (diff)
downloadcoreutils-e09f2bc61193627764a02cce080c7145ee866c52.tar.gz
coreutils-e09f2bc61193627764a02cce080c7145ee866c52.zip
maint: prefer issymlink to readlink with a small buffer
* bootstrap.conf (gnulib_modules): Add issymlink and issymlinkat. * src/copy.c: Include issymlink.h. (copy_reg): Use issymlink instead of readlinkat. * src/rmdir.c: Include issymlink.h. (main): Use issymlink instead of readlink. * src/tail.c: Include issymlink.h. (recheck, any_symlinks): Use issymlink instead of readlink. * src/test.c: Include issymlink.h. (unary_operator): Use issymlink instead of readlink.
Diffstat (limited to 'src/test.c')
-rw-r--r--src/test.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/test.c b/src/test.c
index 0c0785b9c..61bf8b741 100644
--- a/src/test.c
+++ b/src/test.c
@@ -41,6 +41,7 @@
#include "system.h"
#include "assure.h"
#include "c-ctype.h"
+#include "issymlink.h"
#include "quote.h"
#include "stat-time.h"
#include "strnumcmp.h"
@@ -467,8 +468,7 @@ unary_operator (void)
case 'h': /* File is a symbolic link? */
unary_advance ();
- char linkbuf[1];
- return 0 <= readlink (argv[pos - 1], linkbuf, 1);
+ return issymlink (argv[pos - 1]) == 1;
case 'u': /* File is setuid? */
unary_advance ();