#include "xattrs_config.h"
#include "utils.h"
+#include "stringmem.h"
int xmp_getattr(const char *path, struct stat *stbuf) {
int res;
char *_path = prepend_source_directory(path);
res = lstat(_path, stbuf);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
char *_path = prepend_source_directory(path);
res = access(_path, mask);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
char *_path = prepend_source_directory(path);
res = readlink(_path, buf, size - 1);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
} else {
char *_path = prepend_source_directory(path);
dp = opendir(_path);
- free(_path);
+ strfree(_path);
}
if (dp == NULL)
else
res = mknod(_path, mode, rdev);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
char *_path = prepend_source_directory(path);
res = mkdir(_path, mode);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
res = unlink(_path);
if (res == -1) {
- free(_path);
+ strfree(_path);
return -errno;
}
error_print("Error removing sidecar file: %s\n", sidecar_path);
}
}
- free(sidecar_path);
- free(_path);
+ strfree(sidecar_path);
+ strfree(_path);
return 0;
}
char *_path = prepend_source_directory(path);
res = rmdir(_path);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
char *_to = prepend_source_directory(to);
res = symlink(from, _to);
- free(_to);
+ strfree(_to);
if (res == -1)
return -errno;
res = rename(_from, _to);
if (res == -1) {
- free(_from);
- free(_to);
+ strfree(_from);
+ strfree(_to);
return -errno;
}
error_print("Error renaming sidecar. from: %s to: %s\n", from_sidecar_path, to_sidecar_path);
}
}
- free(from_sidecar_path);
- free(to_sidecar_path);
+ strfree(from_sidecar_path);
+ strfree(to_sidecar_path);
- free(_from);
- free(_to);
+ strfree(_from);
+ strfree(_to);
return 0;
}
char *_from = prepend_source_directory(from);
char *_to = prepend_source_directory(to);
res = link(_from, _to);
- free(_from);
- free(_to);
+ strfree(_from);
+ strfree(_to);
if (res == -1)
return -errno;
char *_path = prepend_source_directory(path);
res = chmod(_path, mode);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
char *_path = prepend_source_directory(path);
res = lchown(_path, uid, gid);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
char *_path = prepend_source_directory(path);
res = truncate(_path, size);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
}
#ifdef HAVE_UTIMENSAT
-int xmp_utimens(const char *path, const struct timespec ts[2],
-struct fuse_file_info *fi)
-{
+int xmp_utimens(const char *path, const struct timespec ts[2]) {
if (xattrs_config.show_sidecar == 0 && filename_is_sidecar(path) == 1) {
return -ENOENT;
}
- (void) fi;
int res;
char *_path = prepend_source_directory(path);
/* don't use utime/utimes since they follow symlinks */
res = utimensat(0, _path, ts, AT_SYMLINK_NOFOLLOW);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;
char *_path = prepend_source_directory(path);
fd = open(_path, fi->flags);
- free(_path);
+ strfree(_path);
if (fd == -1)
return -errno;
char *_path = prepend_source_directory(path);
res = statvfs(_path, stbuf);
- free(_path);
+ strfree(_path);
if (res == -1)
return -errno;