diff options
| author | Maxime Coste <mawww@kakoune.org> | 2021-07-20 22:06:57 +1000 |
|---|---|---|
| committer | Maxime Coste <mawww@kakoune.org> | 2021-07-20 22:30:41 +1000 |
| commit | 40e3614cf458a982c783e899143bef81736faa27 (patch) | |
| tree | 6cf74d1fa2043b7a0a2419c449cec49189f3b41f /src/file.cc | |
| parent | 4d99434ddd9aa0acec91ea9790daf1b0610b087f (diff) | |
Prevent overwriting existing file in :write <explicit filename>
Add a -force (equivalent to w!) switch that enables overwriting.
Diffstat (limited to 'src/file.cc')
| -rw-r--r-- | src/file.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/file.cc b/src/file.cc index 89dee9a3..4c7658be 100644 --- a/src/file.cc +++ b/src/file.cc @@ -247,6 +247,13 @@ bool file_exists(StringView filename) return stat(filename.zstr(), &st) == 0; } +bool regular_file_exists(StringView filename) +{ + struct stat st; + return stat(filename.zstr(), &st) == 0 and + (st.st_mode & S_IFMT) == S_IFREG; +} + void write(int fd, StringView data) { const char* ptr = data.data(); |
