diff options
author | Paul Eggert <eggert@cs.ucla.edu> | 2021-03-25 12:41:41 -0700 |
---|---|---|
committer | Paul Eggert <eggert@cs.ucla.edu> | 2021-03-25 12:44:25 -0700 |
commit | 5b3a6f94f866b02761105b55dfdfad4379a640bf (patch) | |
tree | f11d0029599edc4c1196a1a4dce635cbf40c5f10 /lib/supersede.c | |
parent | a37df18aae6c52fab2c7efebff28585e5365268e (diff) | |
download | gnulib-5b3a6f94f866b02761105b55dfdfad4379a640bf.tar.gz |
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.
Diffstat (limited to 'lib/supersede.c')
-rw-r--r-- | lib/supersede.c | 28 |
1 files changed, 4 insertions, 24 deletions
diff --git a/lib/supersede.c b/lib/supersede.c index 8364fca70f..7371e20e2b 100644 --- a/lib/supersede.c +++ b/lib/supersede.c @@ -122,11 +122,7 @@ open_supersede (const char *filename, int flags, mode_t mode, { 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); } } } @@ -169,29 +165,19 @@ open_supersede (const char *filename, int flags, mode_t mode, 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; - } } } } @@ -242,11 +228,7 @@ open_supersede (const char *filename, int flags, mode_t mode, { 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); } } } @@ -394,10 +376,8 @@ close_supersede (int fd, const struct supersede_final_action *action) { if (fd < 0) { - int saved_errno = errno; free (action->final_rename_temp); free (action->final_rename_dest); - errno = saved_errno; return fd; } |