From 59234aef2d1c2abad984eb4f58208c006690453d Mon Sep 17 00:00:00 2001 From: Mateusz Poszwa Date: Thu, 3 May 2012 16:10:00 +0200 Subject: [PATCH] core: fix truncated config files (zero-length) after system crash (bug #36383) The function config_file_write_internal now performs an overwrite-by-rename (call to "rename" only) instead of calls to "unlink" then "rename". --- ChangeLog | 1 + src/core/wee-config-file.c | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8db02fa34..a124300d5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -7,6 +7,7 @@ v0.3.8-dev, 2012-05-03 Version 0.3.8 (under dev!) -------------------------- +* core: fix truncated config files (zero-length) after system crash (bug #36383) * core: fix display bugs and crashs with small windows (bug #36107) * core: convert options weechat.look.prefix_align_more and weechat.look.prefix_buffer_align_more from boolean to string (task #11197) diff --git a/src/core/wee-config-file.c b/src/core/wee-config-file.c index 59c9da9e2..5ea91ef9e 100644 --- a/src/core/wee-config-file.c +++ b/src/core/wee-config-file.c @@ -2022,9 +2022,6 @@ config_file_write_internal (struct t_config_file *config_file, /* update file mode */ chmod (filename2, 0600); - /* remove target file */ - unlink (filename); - /* rename temp file to target file */ rc = rename (filename2, filename);