int pakfire_archive_writer_create_file_from_json(
struct pakfire_archive_writer* self, const char* path, mode_t mode, struct json_object* json) {
const char* buffer = NULL;
+ size_t length = 0;
+
+ // We must have some JSON data
+ if (!json)
+ return -EINVAL;
// Serialize JSON to string
- buffer = json_object_to_json_string_ext(json, 0);
+ buffer = json_object_to_json_string_length(json, 0, &length);
if (!buffer) {
ERROR(self->ctx, "Failed to serialize JSON object: %m\n");
return -errno;
}
// Write it to the archive
- return pakfire_archive_writer_create_file(self, path, mode, buffer, strlen(buffer));
+ return pakfire_archive_writer_create_file(self, path, mode, buffer, length);
}
int pakfire_archive_writer_create_file_from_file(