mirror of
https://github.com/claunia/flac.git
synced 2025-12-16 18:54:26 +00:00
add grabbag__file_are_same()
This commit is contained in:
@@ -45,6 +45,9 @@ const char *grabbag__file_get_basename(const char *srcpath);
|
||||
*/
|
||||
FLAC__bool grabbag__file_change_stats(const char *filename, FLAC__bool read_only);
|
||||
|
||||
/* returns true iff stat() succeeds for both files and they have the same inode */
|
||||
FLAC__bool grabbag__file_are_same(const char *f1, const char *f2);
|
||||
|
||||
/* attempts to make writable before unlinking */
|
||||
FLAC__bool grabbag__file_remove_file(const char *filename);
|
||||
|
||||
|
||||
@@ -108,6 +108,12 @@ FLAC__bool grabbag__file_change_stats(const char *filename, FLAC__bool read_only
|
||||
return true;
|
||||
}
|
||||
|
||||
FLAC__bool grabbag__file_are_same(const char *f1, const char *f2)
|
||||
{
|
||||
struct stat s1, s2;
|
||||
return f1 && f2 && stat(f1, &s1) == 0 && stat(f2, &s2) == 0 && s1.st_ino == s2.st_ino;
|
||||
}
|
||||
|
||||
FLAC__bool grabbag__file_remove_file(const char *filename)
|
||||
{
|
||||
return grabbag__file_change_stats(filename, /*read_only=*/false) && 0 == unlink(filename);
|
||||
|
||||
Reference in New Issue
Block a user