Example #1
0
bool TRI_ExecuteShapeAccessor (TRI_shape_access_t const* accessor,
                               TRI_shaped_json_t const* shaped,
                               TRI_shaped_json_t* result) {
  void* begin = shaped->_data.data;
  void* end   = ((char*) begin) + shaped->_data.length;

  if (! ExecuteBytecodeShapeAccessor(accessor, &begin, &end)) {
    return false;
  }

  result->_sid         = accessor->_resultSid;
  result->_data.data   = (char*) begin;
  result->_data.length = (uint32_t) (((char const*) end) - ((char const*) begin));

  return true;
}
Example #2
0
bool TRI_ExecuteShapeAccessor (TRI_shape_access_t const* accessor,
                               TRI_shaped_json_t const* shaped,
                               TRI_shaped_json_t* result) {
  void* begin;
  void* end;
  bool ok;

  begin = shaped->_data.data;
  end = ((char*) begin) + shaped->_data.length;

  ok = ExecuteBytecodeShapeAccessor(accessor, &begin, &end);

  if (! ok) {
    return false;
  }

  result->_sid = accessor->_shape->_sid;
  result->_data.data = begin;
  result->_data.length = ((char const*) end) - ((char const*) begin);

  return true;
}