From: Bruno Haible Date: Thu, 14 Aug 2025 20:30:18 +0000 (+0200) Subject: unlink: Use issymlink. X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e71bb18ba1814ffd9e763a9dfbdc976c0a35d7e5;p=thirdparty%2Fgnulib.git unlink: Use issymlink. * lib/unlink.c (rpl_unlink): Use issymlink instead of readlink. * modules/unlink (Depends-on): Remove readlink. Add issymlink. --- diff --git a/ChangeLog b/ChangeLog index d0d03f92ae..6fcc5d6eae 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2025-08-14 Bruno Haible + + unlink: Use issymlink. + * lib/unlink.c (rpl_unlink): Use issymlink instead of readlink. + * modules/unlink (Depends-on): Remove readlink. Add issymlink. + 2025-08-14 Bruno Haible renameatu: Use issymlinkat. diff --git a/lib/unlink.c b/lib/unlink.c index 6459e22e0b..9963ddf292 100644 --- a/lib/unlink.c +++ b/lib/unlink.c @@ -72,9 +72,7 @@ rpl_unlink (char const *name) memcpy (short_name, name, len); while (len && ISSLASH (short_name[len - 1])) short_name[--len] = '\0'; - char linkbuf[1]; - if (len && ! (readlink (short_name, linkbuf, 1) < 0 - && errno == EINVAL)) + if (len && issymlink (short_name) != 0) { free (short_name); errno = EPERM; diff --git a/modules/unlink b/modules/unlink index 43c4f8440b..76f5cba79a 100644 --- a/modules/unlink +++ b/modules/unlink @@ -8,9 +8,9 @@ m4/unlink.m4 Depends-on: unistd-h filename [test $REPLACE_UNLINK = 1] +issymlink [test $REPLACE_UNLINK = 1] lstat [test $REPLACE_UNLINK = 1] malloc-posix [test $REPLACE_UNLINK = 1] -readlink [test $REPLACE_UNLINK = 1] configure.ac: gl_FUNC_UNLINK