aboutsummaryrefslogtreecommitdiffstats
path: root/src/alloc.c
diff options
context:
space:
mode:
authorPaul Eggert2020-12-25 01:38:31 -0800
committerPaul Eggert2020-12-25 01:40:39 -0800
commitec8a17e938c3ef213709ea6b6b3e565333a9c508 (patch)
tree1558c79f3c269d9ae1b068bb7c66fce04707b32c /src/alloc.c
parentb8b17038e140fe215a76f2e899c00b9b95614886 (diff)
downloademacs-ec8a17e938c3ef213709ea6b6b3e565333a9c508.tar.gz
emacs-ec8a17e938c3ef213709ea6b6b3e565333a9c508.zip
Adjust to recent Gnulib changes
The latest Gnulib merge brought in free-posix, which causes 'free' to preserve errno. This lets us simplify some Emacs code that calls 'free'. * admin/merge-gnulib (GNULIB_MODULES): Add free-posix. This module is pulled in by canonicalize-lgpl anyway, so we might as well rely on it. * lib-src/emacsclient.c (get_current_dir_name): Sync better with src/sysdep.c. * lib-src/etags.c (process_file_name, etags_mktmp): * lib-src/update-game-score.c (unlock_file): * src/fileio.c (file_accessible_directory_p): * src/sysdep.c (get_current_dir_name_or_unreachable): Simplify by assuming that 'free' preserves errno. * src/alloc.c (malloc_unblock_input): Preserve errno, so that xfree preserves errno. * src/sysdep.c (get_current_dir_name_or_unreachable): Simplify by using strdup instead of malloc+memcpy. No need for realloc (and the old code leaked memory anyway on failure); just use free+malloc.
Diffstat (limited to 'src/alloc.c')
-rw-r--r--src/alloc.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/alloc.c b/src/alloc.c
index adbfa1883c5..0b387dd8c1b 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -732,7 +732,11 @@ static void
732malloc_unblock_input (void) 732malloc_unblock_input (void)
733{ 733{
734 if (block_input_in_memory_allocators) 734 if (block_input_in_memory_allocators)
735 unblock_input (); 735 {
736 int err = errno;
737 unblock_input ();
738 errno = err;
739 }
736} 740}
737# define MALLOC_BLOCK_INPUT malloc_block_input () 741# define MALLOC_BLOCK_INPUT malloc_block_input ()
738# define MALLOC_UNBLOCK_INPUT malloc_unblock_input () 742# define MALLOC_UNBLOCK_INPUT malloc_unblock_input ()