char* nevra = pakfire_package_get_nevra(pkg);
// Append package name and version to path
- int r = pakfire_path_join(prefix, sizeof(prefix), target, nevra);
+ int r = pakfire_path_join(prefix, target, nevra);
// Cleanup
pakfire_package_unref(pkg);
// Prepend the prefix
if (extractor->prefix) {
- r = pakfire_path_join(buffer, sizeof(buffer) - 1, extractor->prefix, path);
+ r = pakfire_path_join(buffer, extractor->prefix, path);
if (r < 0)
goto ERROR;
// Update hardlink destination
const char* link = archive_entry_hardlink(entry);
if (link) {
- r = pakfire_path_join(buffer, sizeof(buffer) - 1, extractor->prefix, link);
+ r = pakfire_path_join(buffer, extractor->prefix, link);
if (r < 0)
goto ERROR;
int r;
// Write the scriptlet to disk
- r = pakfire_path_join(path, sizeof(path) - 1, root, "tmp/.pakfire-script.XXXXXX");
+ r = pakfire_path_join(path, root, "tmp/.pakfire-script.XXXXXX");
if (r < 0)
goto out;
char* pakfire_hexlify(const char* digest, const size_t length);
-int pakfire_path_join(char* dest, size_t length,
+#define pakfire_path_join(dest, first, second) \
+ __pakfire_path_join(dest, sizeof(dest) - 1, first, second)
+
+int __pakfire_path_join(char* dest, size_t length,
const char* first, const char* second);
const char* pakfire_path_relpath(const char* root, const char* path);
// Use GPG
const char* path = pakfire_get_path(pakfire);
- int r = pakfire_path_join(home, sizeof(home) - 1, path, "etc/pakfire/gnupg");
+ int r = pakfire_path_join(home, path, "etc/pakfire/gnupg");
if (r < 0)
goto FAIL;
DEBUG(pakfire, "Mounting /%s\n", mp->target);
- r = pakfire_path_join(target, sizeof(target) - 1, pakfire->path, mp->target);
+ r = pakfire_path_join(target, pakfire->path, mp->target);
if (r < 0)
return r;
while (path && *path == '/')
path++;
- int r = pakfire_path_join(buffer, sizeof(buffer) - 1, pakfire->path, path);
+ int r = pakfire_path_join(buffer, pakfire->path, path);
if (r < 0)
return NULL;
return pakfire_strftime("%Y-%m-%d", t);
}
-int pakfire_path_join(char* dest, size_t length,
+int __pakfire_path_join(char* dest, size_t length,
const char* first, const char* second) {
if (!second)
return snprintf(dest, length, "%s", first);