This lets us simplify cleanup code that calls ‘free’.
* lib/amemxfrm.c (amemxfrm):
* lib/areadlink-with-size.c (areadlink_with_size):
* lib/areadlinkat-with-size.c (areadlinkat_with_size):
* lib/astrxfrm.c (astrxfrm):
* lib/dprintf.c (dprintf):
* lib/execute.c (execute):
* lib/execvpe.c (execvpe):
* lib/fchdir.c (get_name):
* lib/file-has-acl.c (file_has_acl):
* lib/fprintf.c (fprintf):
* lib/getcwd-lgpl.c (rpl_getcwd):
* lib/getgroups.c (rpl_getgroups):
* lib/link.c (link, rpl_link):
* lib/linkat.c (link_immediate, link_follow, linkat_follow):
* lib/localename.c (newlocale, duplocale):
* lib/mgetgroups.c (mgetgroups):
* lib/mountlist.c (read_file_system_list):
* lib/pipe-filter-gi.c (pipe_filter_gi_close):
* lib/putenv.c (_unsetenv, putenv):
* lib/read-file.c (read_file):
* lib/rename.c (rpl_rename):
* lib/savedir.c (streamsavedir, savedir):
* lib/spawni.c (do_open, __spawni):
* lib/spawn-pipe.c (create_pipe):
* lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv):
* lib/striconveh.c (mem_cd_iconveh_internal, str_cd_iconveh)
(mem_iconveh, str_iconveh):
* lib/supersede.c (open_supersede, close_supersede):
* lib/vasnprintf.c (VASNPRINTF):
* lib/vdprintf.c (vdprintf):
* lib/vfprintf.c (vfprintf):
* lib/wcscoll-impl.h (wcscoll):
* lib/wcsxfrm-impl.h (wcsxfrm):
* lib/xgetdomainname.c (xgetdomainname):
* lib/xgethostname.c (xgethostname):
Simplify by assuming that ‘free’ preserves errno.
* lib/localename.c: Do not include errno.h.
* modules/amemxfrm, modules/areadlink-with-size:
* modules/areadlinkat-with-size, modules/astrxfrm:
* modules/c-vasnprintf, modules/dprintf, modules/execute:
* modules/execvpe, modules/fchdir, modules/file-has-acl:
* modules/fprintf-posix, modules/getcwd-lgpl, modules/getgroups:
* modules/link, modules/linkat, modules/localename:
* modules/mgetgroups, modules/mountlist, modules/pipe-filter-gi:
* modules/posix_spawn-internal, modules/putenv, modules/read-file:
* modules/rename, modules/savedir, modules/spawn-pipe:
* modules/striconv, modules/striconveh, modules/supersede:
* modules/vasnprintf, modules/vdprintf, modules/vfprintf-posix:
* modules/wcscoll, modules/wcsxfrm, modules/xgetdomainname:
* modules/xgethostname:
Depend on free-posix.
+2021-03-25 Paul Eggert <eggert@cs.ucla.edu>
+
+ free-posix: use more often in other modules
+ This lets us simplify cleanup code that calls ‘free’.
+ * lib/amemxfrm.c (amemxfrm):
+ * lib/areadlink-with-size.c (areadlink_with_size):
+ * lib/areadlinkat-with-size.c (areadlinkat_with_size):
+ * lib/astrxfrm.c (astrxfrm):
+ * lib/dprintf.c (dprintf):
+ * lib/execute.c (execute):
+ * lib/execvpe.c (execvpe):
+ * lib/fchdir.c (get_name):
+ * lib/file-has-acl.c (file_has_acl):
+ * lib/fprintf.c (fprintf):
+ * lib/getcwd-lgpl.c (rpl_getcwd):
+ * lib/getgroups.c (rpl_getgroups):
+ * lib/link.c (link, rpl_link):
+ * lib/linkat.c (link_immediate, link_follow, linkat_follow):
+ * lib/localename.c (newlocale, duplocale):
+ * lib/mgetgroups.c (mgetgroups):
+ * lib/mountlist.c (read_file_system_list):
+ * lib/pipe-filter-gi.c (pipe_filter_gi_close):
+ * lib/putenv.c (_unsetenv, putenv):
+ * lib/read-file.c (read_file):
+ * lib/rename.c (rpl_rename):
+ * lib/savedir.c (streamsavedir, savedir):
+ * lib/spawni.c (do_open, __spawni):
+ * lib/spawn-pipe.c (create_pipe):
+ * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv):
+ * lib/striconveh.c (mem_cd_iconveh_internal, str_cd_iconveh)
+ (mem_iconveh, str_iconveh):
+ * lib/supersede.c (open_supersede, close_supersede):
+ * lib/vasnprintf.c (VASNPRINTF):
+ * lib/vdprintf.c (vdprintf):
+ * lib/vfprintf.c (vfprintf):
+ * lib/wcscoll-impl.h (wcscoll):
+ * lib/wcsxfrm-impl.h (wcsxfrm):
+ * lib/xgetdomainname.c (xgetdomainname):
+ * lib/xgethostname.c (xgethostname):
+ Simplify by assuming that ‘free’ preserves errno.
+ * lib/localename.c: Do not include errno.h.
+ * modules/amemxfrm, modules/areadlink-with-size:
+ * modules/areadlinkat-with-size, modules/astrxfrm:
+ * modules/c-vasnprintf, modules/dprintf, modules/execute:
+ * modules/execvpe, modules/fchdir, modules/file-has-acl:
+ * modules/fprintf-posix, modules/getcwd-lgpl, modules/getgroups:
+ * modules/link, modules/linkat, modules/localename:
+ * modules/mgetgroups, modules/mountlist, modules/pipe-filter-gi:
+ * modules/posix_spawn-internal, modules/putenv, modules/read-file:
+ * modules/rename, modules/savedir, modules/spawn-pipe:
+ * modules/striconv, modules/striconveh, modules/supersede:
+ * modules/vasnprintf, modules/vdprintf, modules/vfprintf-posix:
+ * modules/wcscoll, modules/wcsxfrm, modules/xgetdomainname:
+ * modules/xgethostname:
+ Depend on free-posix.
+
2021-03-24 Paul Eggert <eggert@cs.ucla.edu>
renameatu: work around macOS 11.2 renameatx_np bug
return result;
fail:
- {
- int saved_errno = errno;
- if (result != resultbuf)
- free (result);
- s[n] = orig_sentinel;
- errno = saved_errno;
- return NULL;
- }
+ if (result != resultbuf)
+ free (result);
+ s[n] = orig_sentinel;
+ return NULL;
out_of_memory_1:
if (result != resultbuf)
if (r < 0)
{
- int saved_errno = errno;
free (buffer);
- errno = saved_errno;
return NULL;
}
if (r < 0)
{
- int saved_errno = errno;
free (buffer);
- errno = saved_errno;
return NULL;
}
return result;
fail:
- {
- int saved_errno = errno;
- if (result != resultbuf && result != tmpbuf)
- free (result);
- errno = saved_errno;
- return NULL;
- }
+ if (result != resultbuf && result != tmpbuf)
+ free (result);
+ return NULL;
out_of_memory:
errno = ENOMEM;
if (full_write (fd, output, len) < len)
{
if (output != buf)
- {
- int saved_errno = errno;
- free (output);
- errno = saved_errno;
- }
+ free (output);
return -1;
}
CAN_MISSING | CAN_NOLINKS);
if (absolute_prog == NULL)
{
- saved_errno = errno;
free (prog_path_to_free);
- goto fail_with_saved_errno;
+ goto fail_with_errno;
}
free (prog_path_to_free);
prog_path_to_free = absolute_prog;
/* If execve returned, it must have failed. */
if (resolved_progname != program)
- {
- int saved_errno = errno;
- free ((char *) resolved_progname);
- errno = saved_errno;
- }
+ free ((char *) resolved_progname);
return -1;
}
{
char *cwd;
char *result;
- int saved_errno;
if (IS_ABSOLUTE_FILE_NAME (dir))
return strdup (dir);
return cwd;
result = mfile_name_concat (cwd, dir, NULL);
- saved_errno = errno;
free (cwd);
- errno = saved_errno;
return result;
}
;
else
{
- int saved_errno = errno;
free (malloced);
- errno = saved_errno;
return -1;
}
}
;
else
{
- int saved_errno = errno;
free (malloced);
- errno = saved_errno;
return -1;
}
}
if (errno != ENOSPC)
{
if (acl != aclbuf)
- {
- int saved_errno = errno;
- free (acl);
- errno = saved_errno;
- }
+ free (acl);
return -1;
}
aclsize = 2 * aclsize;
if (fwrite (output, 1, len, fp) < len)
{
if (output != buf)
- {
- int saved_errno = errno;
- free (output);
- errno = saved_errno;
- }
+ free (output);
return -1;
}
}
result = getcwd (buf, size);
if (!result)
- {
- int saved_errno = errno;
- free (buf);
- errno = saved_errno;
- }
+ free (buf);
return result;
}
while (!result && errno == ERANGE);
if (!result)
- {
- int saved_errno = errno;
- free (buf);
- errno = saved_errno;
- }
+ free (buf);
else
{
/* Here result == buf. */
{
int n_groups;
GETGROUPS_T *gbuf;
- int saved_errno;
if (n < 0)
{
while (n--)
group[n] = gbuf[n];
}
- saved_errno = errno;
free (gbuf);
- errno = saved_errno;
return result;
}
n *= 2;
}
- saved_errno = errno;
free (gbuf);
- errno = saved_errno;
-
return n_groups;
}
*p = '\0';
if (p != dir && stat (dir, &st) != 0 && errno != EOVERFLOW)
{
- int saved_errno = errno;
free (dir);
- errno = saved_errno;
return -1;
}
free (dir);
*p = '\0';
if (stat (dir, &st) != 0 && errno != EOVERFLOW)
{
- int saved_errno = errno;
free (dir);
- errno = saved_errno;
return -1;
}
}
if (st1.st_dev == st2.st_dev)
{
int result = symlink (target, file2);
- int saved_errno = errno;
free (target);
free (dir);
- errno = saved_errno;
return result;
}
free (target);
if (!target && errno != EINVAL)
{
if (name != file1)
- {
- int saved_errno = errno;
- free (name);
- errno = saved_errno;
- }
+ free (name);
return -1;
}
result = link (name, file2);
if (name != file1)
- {
- int saved_errno = errno;
- free (name);
- errno = saved_errno;
- }
+ free (name);
return result;
}
# endif /* 0 < LINK_FOLLOWS_SYMLINKS */
if (!target && errno != EINVAL)
{
if (name != file1)
- {
- int saved_errno = errno;
- free (name);
- errno = saved_errno;
- }
+ free (name);
return -1;
}
result = linkat (fd1, name, fd2, file2, 0);
if (name != file1)
- {
- int saved_errno = errno;
- free (name);
- errno = saved_errno;
- }
+ free (name);
return result;
}
# endif
# endif
# if HAVE_NAMELESS_LOCALES
-# include <errno.h>
# include "localename-table.h"
# endif
#endif
result = newlocale (category_mask, name, base);
if (result == NULL)
{
- int saved_errno = errno;
free (node);
- errno = saved_errno;
return NULL;
}
result = duplocale (locale);
if (result == NULL)
{
- int saved_errno = errno;
free (node);
- errno = saved_errno;
return NULL;
}
if ((h = realloc_groupbuf (g, max_n_groups)) == NULL)
{
- int saved_errno = errno;
free (g);
- errno = saved_errno;
return -1;
}
g = h;
if (ng < 0)
{
/* Failure is unexpected, but handle it anyway. */
- int saved_errno = errno;
free (g);
- errno = saved_errno;
return -1;
}
n_entries = mntctl (MCTL_QUERY, bufsize, entries);
if (n_entries < 0)
{
- int saved_errno = errno;
free (entries);
- errno = saved_errno;
return NULL;
}
/* Free a mount entry as returned from read_file_system_list (). */
-void free_mount_entry (struct mount_entry *me)
+void
+free_mount_entry (struct mount_entry *me)
{
free (me->me_devname);
free (me->me_mountdir);
pipe_filter_gi_close (struct pipe_filter_gi *filter)
{
int ret;
- int saved_errno;
filter_terminate (filter);
ret = filter_retcode (filter);
- saved_errno = errno;
free (filter);
- errno = saved_errno;
return ret;
}
#if HAVE_DECL__PUTENV
{
- int putenv_result, putenv_errno;
+ int putenv_result;
char *name_ = malloc (len + 2);
memcpy (name_, name, len);
name_[len] = '=';
name_[len + 1] = 0;
putenv_result = _putenv (name_);
- putenv_errno = errno;
free (name_);
- __set_errno (putenv_errno);
return putenv_result;
}
#else
/* _putenv ("NAME=") unsets NAME, so invoke _putenv ("NAME= ")
to allocate the environ vector and then replace the new
entry with "NAME=". */
- int putenv_result, putenv_errno;
+ int putenv_result;
char *name_x = malloc (name_end - string + sizeof "= ");
if (!name_x)
return -1;
name_x[name_end - string + 1] = ' ';
name_x[name_end - string + 2] = 0;
putenv_result = _putenv (name_x);
- putenv_errno = errno;
for (ep = environ; *ep; ep++)
if (strcmp (*ep, name_x) == 0)
{
fix that by calling SetEnvironmentVariable directly. */
name_x[name_end - string] = 0;
putenv_result = SetEnvironmentVariable (name_x, "") ? 0 : -1;
- putenv_errno = ENOMEM; /* ENOMEM is the only way to fail. */
+ errno = ENOMEM; /* ENOMEM is the only way to fail. */
}
# endif
free (name_x);
- __set_errno (putenv_errno);
return putenv_result;
}
#else
const char *mode = (flags & RF_BINARY) ? "rbe" : "re";
FILE *stream = fopen (filename, mode);
char *out;
- int save_errno;
if (!stream)
return NULL;
out = fread_file (stream, flags, length);
- save_errno = errno;
-
if (fclose (stream) != 0)
{
if (out)
{
- save_errno = errno;
if (flags & RF_SENSITIVE)
explicit_bzero (out, *length);
free (out);
}
- errno = save_errno;
return NULL;
}
}
if (rmdir (dst))
{
- error = errno;
free (src_temp);
free (dst_temp);
- errno = error;
return -1;
}
free (src_temp);
size_t entries_allocated = 0;
size_t entries_used = 0;
size_t used = 0;
- int readdir_errno;
comparison_function cmp = comparison_function_table[option];
if (dirp == NULL)
}
}
- readdir_errno = errno;
- if (readdir_errno != 0)
+ if (errno != 0)
{
free (entries);
free (name_space);
- errno = readdir_errno;
return NULL;
}
char *name_space = streamsavedir (dirp, option);
if (closedir (dirp) != 0)
{
- int closedir_errno = errno;
free (name_space);
- errno = closedir_errno;
return NULL;
}
return name_space;
canonicalize_filename_mode (prog_path, CAN_MISSING | CAN_NOLINKS);
if (absolute_prog == NULL)
{
- saved_errno = errno;
free (prog_path_to_free);
- goto fail_with_saved_errno;
+ goto fail_with_errno;
}
free (prog_path_to_free);
prog_path_to_free = absolute_prog;
HANDLE handle = open_handle (filename, flags, mode);
if (handle == INVALID_HANDLE_VALUE)
{
- int saved_errno = errno;
free (filename_to_free);
- errno = saved_errno;
return -1;
}
free (filename_to_free);
}
failed_1:
- {
- int saved_errno = errno;
- free (envblock);
- free (command);
- free (argv_mem_to_free);
- return saved_errno;
- }
+ free (envblock);
+ free (command);
+ free (argv_mem_to_free);
+ return errno;
}
#else
fail:
{
if (result != *resultp)
- {
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- }
+ free (result);
return -1;
}
# undef tmpbufsize
return result;
failed:
- {
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- return NULL;
- }
+ free (result);
+ return NULL;
# endif
}
{
if (iconv_close (cd) < 0)
{
- /* Return NULL, but free the allocated memory, and while doing
- that, preserve the errno from iconv_close. */
- int saved_errno = errno;
free (result);
- errno = saved_errno;
return NULL;
}
}
else
{
if (result != initial_result)
- {
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- }
+ free (result);
return -1;
}
}
else
{
if (result != initial_result)
- {
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- }
+ free (result);
return -1;
}
}
&& !(errno == E2BIG || errno == EINVAL || errno == EILSEQ))
{
if (result != initial_result)
- {
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- }
+ free (result);
return -1;
}
if (res1 == (size_t)(-1)
{
/* Failure converting the ASCII replacement. */
if (result != initial_result)
- {
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- }
+ free (result);
return -1;
}
}
else
{
if (result != initial_result)
- {
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- }
+ free (result);
return -1;
}
}
if (retval < 0)
{
- if (result != NULL)
- {
- int saved_errno = errno;
- free (result);
- errno = saved_errno;
- }
+ free (result);
return NULL;
}
{
if (iconveh_close (&cd) < 0)
{
- /* Return -1, but free the allocated memory, and while doing
- that, preserve the errno from iconveh_close. */
- int saved_errno = errno;
- if (result != *resultp && result != NULL)
+ if (result != *resultp)
free (result);
- errno = saved_errno;
return -1;
}
*resultp = result;
{
if (iconveh_close (&cd) < 0)
{
- /* Return NULL, but free the allocated memory, and while doing
- that, preserve the errno from iconveh_close. */
- int saved_errno = errno;
free (result);
- errno = saved_errno;
return NULL;
}
}
{
fd = create_temp_file (canon_filename, flags, mode, action);
if (fd < 0)
- {
- int saved_errno = errno;
- free (canon_filename);
- errno = saved_errno;
- }
+ free (canon_filename);
}
}
}
fd = create_temp_file (canon_filename, flags, mode,
action);
if (fd < 0)
- {
- int saved_errno = errno;
- free (canon_filename);
- errno = saved_errno;
- }
+ free (canon_filename);
}
else
{
/* It is possibly a character device, socket, or
something like that. */
fd = open (canon_filename, flags | extra_flags, mode);
+ free (canon_filename);
if (fd >= 0)
{
- free (canon_filename);
action->final_rename_temp = NULL;
action->final_rename_dest = NULL;
}
- else
- {
- int saved_errno = errno;
- free (canon_filename);
- errno = saved_errno;
- }
}
}
}
{
fd = create_temp_file (canon_filename, flags, mode, action);
if (fd < 0)
- {
- int saved_errno = errno;
- free (canon_filename);
- errno = saved_errno;
- }
+ free (canon_filename);
}
}
}
{
if (fd < 0)
{
- int saved_errno = errno;
free (action->final_rename_temp);
free (action->final_rename_dest);
- errno = saved_errno;
return fd;
}
# endif
if (converted == NULL)
{
- int saved_errno = errno;
if (!(result == resultbuf || result == NULL))
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
- CLEANUP ();
- errno = saved_errno;
return NULL;
}
if (converted != result + length)
NULL, &tmpdst_len);
if (tmpdst == NULL)
{
- int saved_errno = errno;
if (!(result == resultbuf || result == NULL))
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
CLEANUP ();
- errno = saved_errno;
return NULL;
}
# endif
NULL, &tmpdst_len);
if (tmpdst == NULL)
{
- int saved_errno = errno;
if (!(result == resultbuf || result == NULL))
free (result);
if (buf_malloced != NULL)
free (buf_malloced);
CLEANUP ();
- errno = saved_errno;
return NULL;
}
ENSURE_ALLOCATION (xsum (length, tmpdst_len));
if (full_write (fd, output, len) < len)
{
if (output != buf)
- {
- int saved_errno = errno;
- free (output);
- errno = saved_errno;
- }
+ free (output);
return -1;
}
if (fwrite (output, 1, len, fp) < len)
{
if (output != buf)
- {
- int saved_errno = errno;
- free (output);
- errno = saved_errno;
- }
+ free (output);
return -1;
}
int result = strcoll (mbs1, mbs2);
if (mbs1 != mbbuf1)
- {
- int saved_errno = errno;
- free (mbs1);
- errno = saved_errno;
- }
+ free (mbs1);
if (mbs2 != mbbuf2)
- {
- int saved_errno = errno;
- free (mbs2);
- errno = saved_errno;
- }
+ free (mbs2);
return result;
}
{
/* An error occurred. */
if (mbs2 != mbbuf2)
- {
- saved_errno = errno;
- free (mbs2);
- errno = saved_errno;
- }
+ free (mbs2);
return 0;
}
break;
else if (err < 0 && errno != EINVAL)
{
- int saved_errno = errno;
free (domainname);
- errno = saved_errno;
return NULL;
}
size *= 2;
/* OSX/Darwin does this when the buffer is not large enough */
&& errno != ENOMEM)
{
- int saved_errno = errno;
free (hostname);
- errno = saved_errno;
return NULL;
}
}
lib/amemxfrm.c
Depends-on:
+free-posix
configure.ac:
AC_REQUIRE([AC_C_RESTRICT])
lib/areadlink-with-size.c
Depends-on:
+free-posix
readlink
ssize_t
stdint
fchdir
fcntl-h
filename
+free-posix
openat-die
openat-h
save-cwd
lib/astrxfrm.c
Depends-on:
+free-posix
configure.ac:
AC_REQUIRE([AC_C_RESTRICT])
printf-frexpl
signbit
fpucw
+free-posix
nocrash
printf-safe
alloca-opt
Depends-on:
stdio
vasnprintf [test $ac_cv_func_dprintf = no || test $REPLACE_DPRINTF = 1]
+free-posix [test $ac_cv_func_dprintf = no || test $REPLACE_DPRINTF = 1]
full-write [test $ac_cv_func_dprintf = no || test $REPLACE_DPRINTF = 1]
errno [test $ac_cv_func_dprintf = no || test $REPLACE_DPRINTF = 1]
fatal-signal
filename
findprog-in
+free-posix
msvc-nothrow
gettext-h
spawn
Depends-on:
unistd
extensions
+free-posix [test $HAVE_EXECVPE = 0 || test $REPLACE_EXECVPE = 1]
stdbool [test $HAVE_EXECVPE = 0 || test $REPLACE_EXECVPE = 1]
findprog-in [test $HAVE_EXECVPE = 0 || test $REPLACE_EXECVPE = 1]
execve [test $HAVE_EXECVPE = 0 || test $REPLACE_EXECVPE = 1]
fcntl-h [test $HAVE_FCHDIR = 0]
filename [test $HAVE_FCHDIR = 0]
filenamecat-lgpl [test $HAVE_FCHDIR = 0]
+free-posix [test $HAVE_FCHDIR = 0]
fstat [test $HAVE_FCHDIR = 0]
getcwd-lgpl [test $HAVE_FCHDIR = 0]
malloc-posix [test $HAVE_FCHDIR = 0]
Depends-on:
acl-permissions
+free-posix
stat
configure.ac:
vasnprintf [test $REPLACE_FPRINTF = 1]
isnand-nolibm [test $REPLACE_FPRINTF = 1]
isnanl-nolibm [test $REPLACE_FPRINTF = 1]
+freee-posix [test $REPLACE_FPRINTF = 1]
frexp-nolibm [test $REPLACE_FPRINTF = 1]
frexpl-nolibm [test $REPLACE_FPRINTF = 1]
printf-frexp [test $REPLACE_FPRINTF = 1]
Depends-on:
unistd
+free-posix [test $REPLACE_GETCWD = 1]
strdup [test $REPLACE_GETCWD = 1]
configure.ac:
Depends-on:
unistd
+free-posix [test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1]
malloc-posix [test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1]
stdint [test $HAVE_GETGROUPS = 0 || test $REPLACE_GETGROUPS = 1]
Depends-on:
unistd
+free-posix [test $HAVE_LINK = 0 || test $REPLACE_LINK = 1]
stat [test $HAVE_LINK = 0 || test $REPLACE_LINK = 1]
strdup-posix [test $HAVE_LINK = 0 || test $REPLACE_LINK = 1]
sys_stat [test $HAVE_LINK = 0 || test $REPLACE_LINK = 1]
fcntl-h [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1]
filenamecat-lgpl [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1]
filename [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1]
+free-posix [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1]
fstat [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1]
getcwd-lgpl [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1]
link-follow [test $HAVE_LINKAT = 0 || test $REPLACE_LINKAT = 1]
stdbool
locale
flexmember
+free-posix
strdup
lock
langinfo
m4/mgetgroups.m4
Depends-on:
+free-posix
getgroups
getugroups
realloc-posix
Depends-on:
fopen-gnu
+free-posix
getline
open
unlocked-io-internal
error
extern-inline
fcntl-h
+free-posix
gettext-h
stdbool
stdint
filename [test $HAVE_POSIX_SPAWN = 0]
concat-filename [test $HAVE_POSIX_SPAWN = 0]
findprog-in [test $HAVE_POSIX_SPAWN = 0]
+free-posix [test $HAVE_POSIX_SPAWN = 0]
malloca [test $HAVE_POSIX_SPAWN = 0]
windows-spawn [test $HAVE_POSIX_SPAWN = 0]
Depends-on:
stdlib
environ [test $REPLACE_PUTENV = 1]
+free-posix [test $REPLACE_PUTENV = 1]
malloc-posix [test $REPLACE_PUTENV = 1]
configure.ac:
Depends-on:
explicit_bzero
fopen-gnu
+free-posix
fstat
ftello
malloc-posix
canonicalize-lgpl [test $REPLACE_RENAME = 1]
chdir [test $REPLACE_RENAME = 1]
dirname-lgpl [test $REPLACE_RENAME = 1]
+free-posix [test $REPLACE_RENAME = 1]
lstat [test $REPLACE_RENAME = 1]
rmdir [test $REPLACE_RENAME = 1]
same-inode [test $REPLACE_RENAME = 1]
closedir
dirent-safer
fdopendir
+free-posix
opendir
readdir
stpcpy
fatal-signal
filename
findprog-in
+free-posix
gettext-h
msvc-nothrow
open
Depends-on:
iconv
iconv_open
+free-posix
strdup
c-strcase
unistr/u8-mbtouc
unistr/u8-mbtoucr
unistr/u8-uctomb
+free-posix
strdup
c-strcase
c-strcaseeq
canonicalize
open
unlink
+free-posix
ignore-value
stat
stat-time
alloca-opt
attribute
float
+free-posix
stdint
xsize
errno
Depends-on:
stdio
vasnprintf [test $ac_cv_func_vdprintf = no || test $REPLACE_VDPRINTF = 1]
+free-posix [test $ac_cv_func_vdprintf = no || test $REPLACE_VDPRINTF = 1]
full-write [test $ac_cv_func_vdprintf = no || test $REPLACE_VDPRINTF = 1]
errno [test $ac_cv_func_vdprintf = no || test $REPLACE_VDPRINTF = 1]
nocrash
printf-safe
multiarch
+free-posix [test $REPLACE_VFPRINTF = 1]
fseterr [test $REPLACE_VFPRINTF = 1]
vasnprintf [test $REPLACE_VFPRINTF = 1]
isnand-nolibm [test $REPLACE_VFPRINTF = 1]
m4/wcscoll.m4
Depends-on:
+free-posix
wchar
configure.ac:
m4/wcsxfrm.m4
Depends-on:
+free-posix
wchar
configure.ac:
lib/xgetdomainname.c
Depends-on:
+free-posix
getdomainname
xalloc
lib/xgethostname.c
Depends-on:
+free-posix
gethostname
xalloc
Maintainer:
Jim Meyering
-