summaryrefslogtreecommitdiffstats
path: root/src/lib/file-copy.h
blob: f70b941bebd69803dc344a4d9d85281c66dfeb13 (plain)
1
2
3
4
5
6
7
8
9
10
11
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