const char* pakfire_get_distro_version_id(struct pakfire* pakfire);
const char* pakfire_get_distro_tag(struct pakfire* pakfire);
+int pakfire_openat(struct pakfire* pakfire, const char* path, int flags);
+
#define pakfire_path(pakfire, path, format, ...) \
__pakfire_path(pakfire, path, sizeof(path), format, __VA_ARGS__)
int __pakfire_path(struct pakfire* pakfire, char* path, const size_t length,
return pakfire->path;
}
+int pakfire_openat(struct pakfire* pakfire, const char* path, int flags) {
+ // Make paths relative
+ while (path && *path == '/')
+ path++;
+
+ return openat(pakfire->fd, path, flags);
+}
+
int __pakfire_path(struct pakfire* pakfire, char* path, const size_t length,
const char* format, ...) {
char buffer[PATH_MAX];