コード例 #1
0
ファイル: json.cpp プロジェクト: m0ppers/arangodb
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;
}
コード例 #2
0
ファイル: json.cpp プロジェクト: morsdatum/ArangoDB
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;
}
コード例 #3
0
ファイル: json.cpp プロジェクト: morsdatum/ArangoDB
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(&copy, name, nameLength);
  }
  else {
    InitString(&copy, name, nameLength);
  }

  if (TRI_ReserveVector(&object->_value._objects, 2) != TRI_ERROR_NO_ERROR) {
    // TODO: signal OOM here
    return;
  }

  TRI_PushBackVector(&object->_value._objects, &copy);

  // attribute value
  TRI_PushBackVector(&object->_value._objects, subobject);
}
コード例 #4
0
ファイル: json.cpp プロジェクト: morsdatum/ArangoDB
void TRI_InitStringReference2Json (TRI_json_t* result, const char* value, size_t length) {
  InitStringReference(result, value, length);
}
コード例 #5
0
ファイル: json.cpp プロジェクト: morsdatum/ArangoDB
void TRI_InitStringReferenceJson (TRI_json_t* result, const char* value) {
  InitStringReference(result, value, strlen(value));
}