path-util: Add a helper for checking paths
The difference with the already existing path_equal_or_inode_same function is that the new one does not swallow errors.
This commit is contained in:
@@ -525,6 +525,18 @@ int path_compare_filename(const char *a, const char *b) {
|
||||
return strcmp(fa, fb);
|
||||
}
|
||||
|
||||
int path_equal_or_inode_same_full(const char *a, const char *b, int flags) {
|
||||
/* Returns true if paths are of the same entry, false if not, <0 on error. */
|
||||
|
||||
if (path_equal(a, b))
|
||||
return 1;
|
||||
|
||||
if (!a || !b)
|
||||
return 0;
|
||||
|
||||
return inode_same(a, b, flags);
|
||||
}
|
||||
|
||||
char* path_extend_internal(char **x, ...) {
|
||||
size_t sz, old_sz;
|
||||
char *q, *nx;
|
||||
|
||||
@@ -68,8 +68,9 @@ static inline bool path_equal_filename(const char *a, const char *b) {
|
||||
return path_compare_filename(a, b) == 0;
|
||||
}
|
||||
|
||||
int path_equal_or_inode_same_full(const char *a, const char *b, int flags);
|
||||
static inline bool path_equal_or_inode_same(const char *a, const char *b, int flags) {
|
||||
return path_equal(a, b) || inode_same(a, b, flags) > 0;
|
||||
return path_equal_or_inode_same_full(a, b, flags) > 0;
|
||||
}
|
||||
|
||||
char* path_extend_internal(char **x, ...);
|
||||
|
||||
Reference in New Issue
Block a user