diff options
| author | Maxime Coste <frrrwww@gmail.com> | 2014-10-13 13:38:28 +0100 |
|---|---|---|
| committer | Maxime Coste <frrrwww@gmail.com> | 2014-10-13 13:38:28 +0100 |
| commit | 2adaa7bdfab5b62ed18a57a94fe150ca66026328 (patch) | |
| tree | ec4368df7d49f0b454d1e099499cb69af03f887a /src/file.cc | |
| parent | fa85f0fc32b105bef5948585a7d7a38c2910854b (diff) | |
Do not assert on SIGTERM and backup modified buffers on signal induced termination
Diffstat (limited to 'src/file.cc')
| -rw-r--r-- | src/file.cc | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/file.cc b/src/file.cc index 66064bbf..11159805 100644 --- a/src/file.cc +++ b/src/file.cc @@ -209,6 +209,19 @@ void write_buffer_to_file(Buffer& buffer, StringView filename) buffer.run_hook_in_own_context("BufWritePost", buffer.name()); } +void write_buffer_to_backup_file(Buffer& buffer) +{ + char pattern[PATH_MAX+1]; + snprintf(pattern, PATH_MAX+1, ".%s.kak.XXXXXX", + real_path(buffer.name()).c_str()); + int fd = mkstemp(pattern); + if (fd >= 0) + { + write_buffer_to_fd(buffer, fd); + close(fd); + } +} + String find_file(StringView filename, memoryview<String> paths) { struct stat buf; |
