2 Copyright (C) 2009-2024 Free Software Foundation, Inc.
4 This file is free software: you can redistribute it and/or modify
5 it under the terms of the GNU Lesser General Public License as
6 published by the Free Software Foundation, either version 3 of the
7 License, or (at your option) any later version.
9 This file is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public License
15 along with this program. If not, see <https://www.gnu.org/licenses/>. */
31 /* Create a symlink, but reject trailing slash. */
33 rpl_symlink (char const *contents
, char const *name
)
35 size_t len
= strlen (name
);
36 if (len
&& name
[len
- 1] == '/')
39 if (lstat (name
, &st
) == 0 || errno
== EOVERFLOW
)
43 return symlink (contents
, name
);
46 #else /* !HAVE_SYMLINK */
48 /* The system does not support symlinks. */
50 symlink (_GL_UNUSED
char const *contents
,
51 _GL_UNUSED
char const *name
)
57 #endif /* !HAVE_SYMLINK */