mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-03-06 14:02:07 -08:00
Fix open-dribble-file's treatment of non-ASCII file names.
src/keyboard.c (Fopen_dribble_file): Encode the dribble file-name before passing it to system APIs.
This commit is contained in:
parent
f2d164a4c6
commit
ced78c5a65
2 changed files with 9 additions and 3 deletions
|
|
@ -1,5 +1,8 @@
|
|||
2014-04-13 Eli Zaretskii <eliz@gnu.org>
|
||||
|
||||
* keyboard.c (Fopen_dribble_file): Encode the dribble file-name
|
||||
before passing it to system APIs.
|
||||
|
||||
* puresize.h (BASE_PURESIZE): Bump by 1K. (Bug#17255)
|
||||
|
||||
2014-04-13 Stefan Monnier <monnier@iro.umontreal.ca>
|
||||
|
|
|
|||
|
|
@ -10087,10 +10087,13 @@ This may include sensitive information such as passwords. */)
|
|||
if (!NILP (file))
|
||||
{
|
||||
int fd;
|
||||
Lisp_Object encfile;
|
||||
|
||||
file = Fexpand_file_name (file, Qnil);
|
||||
fd = emacs_open (SSDATA (file), O_WRONLY | O_CREAT | O_EXCL, 0600);
|
||||
if (fd < 0 && errno == EEXIST && unlink (SSDATA (file)) == 0)
|
||||
fd = emacs_open (SSDATA (file), O_WRONLY | O_CREAT | O_EXCL, 0600);
|
||||
encfile = ENCODE_FILE (file);
|
||||
fd = emacs_open (SSDATA (encfile), O_WRONLY | O_CREAT | O_EXCL, 0600);
|
||||
if (fd < 0 && errno == EEXIST && unlink (SSDATA (encfile)) == 0)
|
||||
fd = emacs_open (SSDATA (encfile), O_WRONLY | O_CREAT | O_EXCL, 0600);
|
||||
dribble = fd < 0 ? 0 : fdopen (fd, "w");
|
||||
if (dribble == 0)
|
||||
report_file_error ("Opening dribble", file);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue