TRI_json_t* TRI_CreateStringReferenceJson (TRI_memory_zone_t* zone, char const* value, size_t length) { TRI_json_t* result = static_cast<TRI_json_t*>(TRI_Allocate(zone, sizeof(TRI_json_t), false)); if (result != nullptr) { InitStringReference(result, value, length); } return result; }
TRI_json_t* TRI_CreateStringReference2Json (TRI_memory_zone_t* zone, const char* value, size_t length) { TRI_json_t* result; result = (TRI_json_t*) TRI_Allocate(zone, sizeof(TRI_json_t), false); if (result == NULL) { return NULL; } InitStringReference(result, value, length); return result; }
void TRI_Insert4ArrayJson (TRI_memory_zone_t* zone, TRI_json_t* object, char* name, size_t nameLength, TRI_json_t* subobject, bool asReference) { TRI_json_t copy; TRI_ASSERT(name != NULL); // attribute name if (asReference) { InitStringReference(©, name, nameLength); } else { InitString(©, name, nameLength); } if (TRI_ReserveVector(&object->_value._objects, 2) != TRI_ERROR_NO_ERROR) { // TODO: signal OOM here return; } TRI_PushBackVector(&object->_value._objects, ©); // attribute value TRI_PushBackVector(&object->_value._objects, subobject); }
void TRI_InitStringReference2Json (TRI_json_t* result, const char* value, size_t length) { InitStringReference(result, value, length); }
void TRI_InitStringReferenceJson (TRI_json_t* result, const char* value) { InitStringReference(result, value, strlen(value)); }