Fixed the readded -c option (left temporary files behind)
This commit is contained in:
parent
811e929de0
commit
e17f40b419
|
@ -29,7 +29,7 @@ index af8c4d2..c05b418 100644
|
||||||
{
|
{
|
||||||
char *backup_file_name = get_backup_file_name(target_name);
|
char *backup_file_name = get_backup_file_name(target_name);
|
||||||
- ck_rename (target_name, backup_file_name, input->out_file_name);
|
- ck_rename (target_name, backup_file_name, input->out_file_name);
|
||||||
+ (copy_instead_of_rename?ck_fcmove:ck_rename)
|
+ (copy_instead_of_rename?ck_fccopy:ck_rename)
|
||||||
+ (target_name, backup_file_name, input->out_file_name);
|
+ (target_name, backup_file_name, input->out_file_name);
|
||||||
free (backup_file_name);
|
free (backup_file_name);
|
||||||
}
|
}
|
||||||
|
@ -135,7 +135,7 @@ index 241ef1d..ebe6030 100644
|
||||||
|
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "pathmax.h"
|
#include "pathmax.h"
|
||||||
@@ -408,33 +409,99 @@ follow_symlink(const char *fname)
|
@@ -408,33 +409,109 @@ follow_symlink(const char *fname)
|
||||||
return fname;
|
return fname;
|
||||||
#endif /* ENABLE_FOLLOW_SYMLINKS */
|
#endif /* ENABLE_FOLLOW_SYMLINKS */
|
||||||
}
|
}
|
||||||
|
@ -238,12 +238,22 @@ index 241ef1d..ebe6030 100644
|
||||||
|
|
||||||
+/* Attempt to copy file contents between the files. */
|
+/* Attempt to copy file contents between the files. */
|
||||||
+void
|
+void
|
||||||
+ck_fcmove (from, to, unlink_if_fail)
|
+ck_fccopy (from, to, unlink_if_fail)
|
||||||
+ const char *from, *to;
|
+ const char *from, *to;
|
||||||
+ const char *unlink_if_fail;
|
+ const char *unlink_if_fail;
|
||||||
+{
|
+{
|
||||||
+ if (!_unlink_if_fail (_copy (from, to), unlink_if_fail))
|
+ if (!_unlink_if_fail (_copy (from, to), unlink_if_fail))
|
||||||
+ panic (_("cannot copy %s to %s: %s"), from, to, strerror (errno));
|
+ panic (_("cannot copy %s to %s: %s"), from, to, strerror (errno));
|
||||||
|
+}
|
||||||
|
+
|
||||||
|
+/* Copy contents between files, and then unlink the source. */
|
||||||
|
+void
|
||||||
|
+ck_fcmove (from, to, unlink_if_fail)
|
||||||
|
+ const char *from, *to;
|
||||||
|
+ const char *unlink_if_fail;
|
||||||
|
+{
|
||||||
|
+ ck_fccopy (from, to, unlink_if_fail);
|
||||||
|
+ ck_unlink (from);
|
||||||
+}
|
+}
|
||||||
|
|
||||||
|
|
||||||
|
@ -252,10 +262,11 @@ diff --git a/sed/utils.h b/sed/utils.h
|
||||||
index d3f431d..b915596 100644
|
index d3f431d..b915596 100644
|
||||||
--- a/sed/utils.h
|
--- a/sed/utils.h
|
||||||
+++ b/sed/utils.h
|
+++ b/sed/utils.h
|
||||||
@@ -32,6 +32,7 @@ const char *follow_symlink P_((const char *path));
|
@@ -32,6 +32,8 @@ const char *follow_symlink P_((const char *path));
|
||||||
size_t ck_getline P_((char **text, size_t *buflen, FILE *stream));
|
size_t ck_getline P_((char **text, size_t *buflen, FILE *stream));
|
||||||
FILE * ck_mkstemp P_((char **p_filename, char *tmpdir, char *base));
|
FILE * ck_mkstemp P_((char **p_filename, char *tmpdir, char *base));
|
||||||
void ck_rename P_((const char *from, const char *to, const char *unlink_if_fail));
|
void ck_rename P_((const char *from, const char *to, const char *unlink_if_fail));
|
||||||
|
+void ck_fccopy P_((const char *from, const char *to, const char *unlink_if_fail));
|
||||||
+void ck_fcmove P_((const char *from, const char *to, const char *unlink_if_fail));
|
+void ck_fcmove P_((const char *from, const char *to, const char *unlink_if_fail));
|
||||||
|
|
||||||
VOID *ck_malloc P_((size_t size));
|
VOID *ck_malloc P_((size_t size));
|
||||||
|
|
4
sed.spec
4
sed.spec
|
@ -77,6 +77,10 @@ rm -rf ${RPM_BUILD_ROOT}
|
||||||
%{_mandir}/man*/*
|
%{_mandir}/man*/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Jul 10 2012 Martin Briza <mbriza@redhat.com> - 4.2.1-10
|
||||||
|
- Fixed the readded -c option rhbz#832855
|
||||||
|
Resolves: #832855
|
||||||
|
|
||||||
* Wed Jun 13 2012 Martin Briza <mbriza@redhat.com> - 4.2.1-9
|
* Wed Jun 13 2012 Martin Briza <mbriza@redhat.com> - 4.2.1-9
|
||||||
- Backported commit from upstream to fix treating "x26" as "&" character
|
- Backported commit from upstream to fix treating "x26" as "&" character
|
||||||
- Added virtual provide for gnulib according to http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
|
- Added virtual provide for gnulib according to http://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
|
||||||
|
|
Loading…
Reference in New Issue