Ejemplo n.º 1
0
void msgpack_rpc_free_stringarray(StringArray value) {
  for (uint32_t i = 0; i < value.size; i++) {
    msgpack_rpc_free_string(value.items[i]);
  }

  free(value.items);
}
Ejemplo n.º 2
0
void msgpack_rpc_free_object(Object value)
{
  switch (value.type) {
    case kObjectTypeNil:
    case kObjectTypeBool:
    case kObjectTypeInt:
    case kObjectTypeFloat:
      break;

    case kObjectTypeString:
      msgpack_rpc_free_string(value.data.string);
      break;

    case kObjectTypeArray:
      msgpack_rpc_free_array(value.data.array);
      break;

    case kObjectTypeDictionary:
      msgpack_rpc_free_dictionary(value.data.dictionary);
      break;

    default:
      abort();
  }
}
Ejemplo n.º 3
0
void msgpack_rpc_free_dictionary(Dictionary value)
{
  for (uint32_t i = 0; i < value.size; i++) {
    msgpack_rpc_free_string(value.items[i].key);
    msgpack_rpc_free_object(value.items[i].value);
  }

  free(value.items);
}
Ejemplo n.º 4
0
void msgpack_rpc_free_object(Object value)
{
  switch (value.type) {
    case kObjectTypeNil:
    case kObjectTypeBoolean:
    case kObjectTypeInteger:
    case kObjectTypeFloat:
    case kObjectTypePosition:
    case kObjectTypeBuffer:
    case kObjectTypeWindow:
    case kObjectTypeTabpage:
      break;

    case kObjectTypeString:
      msgpack_rpc_free_string(value.data.string);
      break;

    case kObjectTypeArray:
      msgpack_rpc_free_array(value.data.array);
      break;

    case kObjectTypeStringArray:
      msgpack_rpc_free_stringarray(value.data.stringarray);
      break;

    case kObjectTypeBufferArray:
      msgpack_rpc_free_bufferarray(value.data.bufferarray);
      break;

    case kObjectTypeWindowArray:
      msgpack_rpc_free_windowarray(value.data.windowarray);
      break;

    case kObjectTypeTabpageArray:
      msgpack_rpc_free_tabpagearray(value.data.tabpagearray);
      break;

    case kObjectTypeDictionary:
      msgpack_rpc_free_dictionary(value.data.dictionary);
      break;

    default:
      abort();
  }
}