mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-23 06:00:41 -08:00
Fix some emacs_fopen confusion
Problem reported by Po Lu in: https://lists.gnu.org/r/emacs-devel/2023-08/msg00195.html * src/comp.c (comp_hash_source_file, Fcomp__release_ctxt): * src/sysdep.c (get_up_time, procfs_ttyname, procfs_get_total_memory): Be more systematic about using emacs_fclose on streams that were opened with emacs_fopen or emacs_fdopen. Do this even if not Android, as this simplifies checking that it's done consistently. * src/lisp.h (emacs_fclose): If it’s just fclose, make it a macro rather than a function, to avoid confusing gcc -Wmismatched-dealloc. (emacs_fopen): Move decl here from sysstdio.h, because sysstdio.h is included from non-Emacs executables and emacs_fopen is good only inside Emacs. * src/sysdep.c (emacs_fclose): Define as a function only if Android.
This commit is contained in:
parent
a579739e2b
commit
85b6c150c8
4 changed files with 13 additions and 11 deletions
|
|
@ -5086,9 +5086,15 @@ extern int emacs_open (const char *, int, int);
|
|||
extern int emacs_open_noquit (const char *, int, int);
|
||||
extern int emacs_pipe (int[2]);
|
||||
extern int emacs_close (int);
|
||||
#if !(defined HAVE_ANDROID && !defined ANDROID_STUBIFY)
|
||||
# define emacs_fclose fclose
|
||||
#else
|
||||
extern int emacs_fclose (FILE *);
|
||||
#endif
|
||||
extern FILE *emacs_fdopen (int, const char *)
|
||||
ATTRIBUTE_MALLOC ATTRIBUTE_DEALLOC (emacs_fclose, 1);
|
||||
extern FILE *emacs_fopen (char const *, char const *)
|
||||
ATTRIBUTE_MALLOC ATTRIBUTE_DEALLOC (emacs_fclose, 1);
|
||||
extern int emacs_unlink (const char *);
|
||||
extern int emacs_symlink (const char *, const char *);
|
||||
extern int emacs_rmdir (const char *);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue