diff options
Diffstat (limited to 'src/fileio.c')
| -rw-r--r-- | src/fileio.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/src/fileio.c b/src/fileio.c index 89ae89e1613..d030c78c422 100644 --- a/src/fileio.c +++ b/src/fileio.c | |||
| @@ -2122,7 +2122,7 @@ entries (depending on how Emacs was built). */) | |||
| 2122 | immediate_quit = 1; | 2122 | immediate_quit = 1; |
| 2123 | QUIT; | 2123 | QUIT; |
| 2124 | while ((n = emacs_read (ifd, buf, sizeof buf)) > 0) | 2124 | while ((n = emacs_read (ifd, buf, sizeof buf)) > 0) |
| 2125 | if (emacs_write (ofd, buf, n) != n) | 2125 | if (emacs_write_sig (ofd, buf, n) != n) |
| 2126 | report_file_error ("I/O error", Fcons (newname, Qnil)); | 2126 | report_file_error ("I/O error", Fcons (newname, Qnil)); |
| 2127 | immediate_quit = 0; | 2127 | immediate_quit = 0; |
| 2128 | 2128 | ||
| @@ -5317,12 +5317,10 @@ e_write (int desc, Lisp_Object string, ptrdiff_t start, ptrdiff_t end, | |||
| 5317 | 5317 | ||
| 5318 | if (coding->produced > 0) | 5318 | if (coding->produced > 0) |
| 5319 | { | 5319 | { |
| 5320 | coding->produced | 5320 | char *buf = (STRINGP (coding->dst_object) |
| 5321 | -= emacs_write (desc, | 5321 | ? SSDATA (coding->dst_object) |
| 5322 | STRINGP (coding->dst_object) | 5322 | : (char *) BYTE_POS_ADDR (coding->dst_pos_byte)); |
| 5323 | ? SSDATA (coding->dst_object) | 5323 | coding->produced -= emacs_write_sig (desc, buf, coding->produced); |
| 5324 | : (char *) BYTE_POS_ADDR (coding->dst_pos_byte), | ||
| 5325 | coding->produced); | ||
| 5326 | 5324 | ||
| 5327 | if (coding->produced) | 5325 | if (coding->produced) |
| 5328 | return 0; | 5326 | return 0; |