[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#20002: sed: tmp file left when there are errors and -i is used
From: |
Jim Meyering |
Subject: |
bug#20002: sed: tmp file left when there are errors and -i is used |
Date: |
Sun, 10 May 2015 06:45:21 -0700 |
[David Jones reported this in http://bugs.gnu.org/20002]
Thank you for the report.
That was indeed a bug.
I have attached the patch I expect to push:
[PATCH] sed -i: don't leave behind a temporary sedXXXXXX file
For example, running a command like "sed -i s//b/ F" would fail
to remove a temporary file named sedXXXXXX (for random XXXXXX)
in the directory alongside F.
* sed/sed.c (G_file_to_unlink): New global.
(register_cleanup_file, cancel_cleanup, cleanup): New functions.
(main): Call atexit.
* sed/execute.c (open_next_file): Register for unlink.
(closedown): Call cancel_cleanup right after the rename.
* sed/sed.h: Declare two of the new functions.
* NEWS (Bug fixes): Mention it.
* testsuite/temp-file-cleanup.sh: New file. Test for this.
* testsuite/Makefile.am (T): Add it.
Reported by David Jones in http://bugs.gnu.org/20002.
0001-sed-i-don-t-leave-behind-a-temporary-sedXXXXXX-file.patch
Description: Binary data
- bug#20002: sed: tmp file left when there are errors and -i is used,
Jim Meyering <=