const char* buffer, const size_t length);
struct json_object* pakfire_json_parse_from_file(struct pakfire_ctx* ctx, const char* path);
int pakfire_json_add_string(struct json_object* json, const char* name, const char* value);
+int pakfire_json_add_stringn(struct json_object* json, const char* name, const char* value, size_t length);
int pakfire_json_add_int64(struct json_object* json, const char* name, int64_t value);
int pakfire_json_add_uint64(struct json_object* json, const char* name, uint64_t value);
int pakfire_json_add_double(struct json_object* json, const char* name, double value);
int pakfire_json_add_string(struct json_object* json,
const char* name, const char* value) {
+ if (!value)
+ return 0;
+
+ return pakfire_json_add_stringn(json, name, value, strlen(value));
+}
+
+int pakfire_json_add_stringn(struct json_object* json,
+ const char* name, const char* value, size_t length) {
// No string? Nothing to do
if (!value)
return 0;
// Convert string to JSON object
- struct json_object* object = json_object_new_string(value);
+ struct json_object* object = json_object_new_string_len(value, length);
if (!object)
return 1;