Msg_addPreamble(buffer, msg->messageType, len);
mumble_proto__codec_version__pack(msg->payload.codecVersion, bufptr);
break;
+ case PermissionQuery:
+ len = mumble_proto__permission_query__get_packed_size(msg->payload.permissionQuery);
+ if (len > MAX_MSGSIZE) {
+ Log_warn("Too big tx message. Discarding");
+ break;
+ }
+ Msg_addPreamble(buffer, msg->messageType, len);
+ mumble_proto__permission_query__pack(msg->payload.permissionQuery, bufptr);
+ break;
default:
Log_warn("Unsupported message %d", msg->messageType);
msg->payload.channelState = malloc(sizeof(MumbleProto__ChannelState));
mumble_proto__channel_state__init(msg->payload.channelState);
break;
+ case PermissionQuery:
+ msg->payload.permissionQuery = malloc(sizeof(MumbleProto__PermissionQuery));
+ mumble_proto__permission_query__init(msg->payload.permissionQuery);
+ break;
default:
Log_warn("Msg_create: Unsupported message %d", msg->messageType);
free(msg->payload.channelState);
}
break;
+ case PermissionQuery:
+ if (msg->unpacked)
+ mumble_proto__permission_query__free_unpacked(msg->payload.permissionQuery, NULL);
+ else {
+ free(msg->payload.permissionQuery);
+ }
+ break;
default:
Log_warn("Msg_free: Unsupported message %d", msg->messageType);