mirror of
git://git.sv.gnu.org/emacs.git
synced 2025-12-06 06:20:55 -08:00
Use binary-io module, O_BINARY, and "b" flag.
* admin/merge-gnulib (GNULIB_MODULES): Add binary-io. It was already present implicitly; this just makes the dependence explicit. * lib-src/etags.c, lib-src/hexl.c, lib-src/make-docfile.c: Include binary-io.h instead of fcntl.h and/or io.h. (main): Use set_binary_mode or SET_BINARY in place of handcrafted code. * lib-src/etags.c (main) [DOS_NT]: * lib-src/movemail.c (main) [WINDOWSNT]: Don't mess with _fmode. * lib-src/etags.c (main, process_file_name, analyse_regex): Use fopen/popen's "b" flag instead. * lib-src/movemail.c (main, popmail): Use open/lk_open/mkostemp's O_BINARY instead. * src/callproc.c (create_temp_file): Use mkostemp's O_BINARY flag. * src/emacs.c [MSDOS]: * src/emacs.c (main) [DOS_NT]: Don't mess with _fmode. (main) [MSDOS]: Use SET_BINARY instead of setmode. * src/minibuf.c: Include binary-io.h instead of fcntl.h. (read_minibuf_noninteractive): Use set_binary_mode instead of handcrafted code. Don't call emacs_set_tty if emacs_get_tty failed. * src/sysdep.c, src/systty.h (emacs_get_tty): Return int, not void. * src/sysdep.c (emacs_open, emacs_pipe): Use O_BINARY. * src/w32.c (pipe2): Adjust eassert to include O_BINARY. Fixes: debbugs:18006
This commit is contained in:
parent
091adafaac
commit
ba1ed52f0c
14 changed files with 93 additions and 117 deletions
|
|
@ -191,11 +191,6 @@ main (int argc, char **argv)
|
|||
uid_t real_gid = getgid ();
|
||||
uid_t priv_gid = getegid ();
|
||||
|
||||
#ifdef WINDOWSNT
|
||||
/* Ensure all file i/o is in binary mode. */
|
||||
_fmode = _O_BINARY;
|
||||
#endif
|
||||
|
||||
delete_lockname = 0;
|
||||
|
||||
while ((c = getopt (argc, argv, ARGSTR)) != EOF)
|
||||
|
|
@ -304,7 +299,7 @@ main (int argc, char **argv)
|
|||
|
||||
memcpy (tempname, inname, inname_dirlen);
|
||||
strcpy (tempname + inname_dirlen, "EXXXXXX");
|
||||
desc = mkostemp (tempname, 0);
|
||||
desc = mkostemp (tempname, O_BINARY);
|
||||
if (desc < 0)
|
||||
{
|
||||
int mkostemp_errno = errno;
|
||||
|
|
@ -358,12 +353,12 @@ main (int argc, char **argv)
|
|||
|
||||
#ifndef MAIL_USE_MMDF
|
||||
#ifdef MAIL_USE_SYSTEM_LOCK
|
||||
indesc = open (inname, O_RDWR);
|
||||
indesc = open (inname, O_RDWR | O_BINARY);
|
||||
#else /* if not MAIL_USE_SYSTEM_LOCK */
|
||||
indesc = open (inname, O_RDONLY);
|
||||
indesc = open (inname, O_RDONLY | O_BINARY);
|
||||
#endif /* not MAIL_USE_SYSTEM_LOCK */
|
||||
#else /* MAIL_USE_MMDF */
|
||||
indesc = lk_open (inname, O_RDONLY, 0, 0, 10);
|
||||
indesc = lk_open (inname, O_RDONLY | O_BINARY, 0, 0, 10);
|
||||
#endif /* MAIL_USE_MMDF */
|
||||
|
||||
if (indesc < 0)
|
||||
|
|
@ -372,7 +367,7 @@ main (int argc, char **argv)
|
|||
/* Make sure the user can read the output file. */
|
||||
umask (umask (0) & 0377);
|
||||
|
||||
outdesc = open (outname, O_WRONLY | O_CREAT | O_EXCL, 0666);
|
||||
outdesc = open (outname, O_WRONLY | O_BINARY | O_CREAT | O_EXCL, 0666);
|
||||
if (outdesc < 0)
|
||||
pfatal_with_name (outname);
|
||||
|
||||
|
|
@ -675,7 +670,7 @@ popmail (char *mailbox, char *outfile, int preserve, char *password, int reverse
|
|||
return EXIT_SUCCESS;
|
||||
}
|
||||
|
||||
mbfi = open (outfile, O_WRONLY | O_CREAT | O_EXCL, 0666);
|
||||
mbfi = open (outfile, O_WRONLY | O_BINARY | O_CREAT | O_EXCL, 0666);
|
||||
if (mbfi < 0)
|
||||
{
|
||||
pop_close (server);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue