diff options
Diffstat (limited to '')
-rw-r--r-- | src/lib/file-copy.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/lib/file-copy.h b/src/lib/file-copy.h new file mode 100644 index 0000000..f70b941 --- /dev/null +++ b/src/lib/file-copy.h @@ -0,0 +1,12 @@ +#ifndef FILE_COPY_H +#define FILE_COPY_H + +/* Copy file atomically. First try hardlinking, then fallback to creating + a temporary file (destpath.tmp) and rename()ing it over srcpath. + If the destination file already exists, it may or may not be overwritten, + so that shouldn't be relied on. + + Returns -1 = error, 0 = source file not found, 1 = ok */ +int file_copy(const char *srcpath, const char *destpath, bool try_hardlink); + +#endif |