<div style="color: rgb(204, 204, 204); background-color: rgb(31, 31, 31); font-family: Consolas, "Courier New", monospace; font-size: 14px; line-height: 19px; white-space: pre; --darkreader-inline-color: var(--darkreader-text-cccccc, #c8c3bc); --darkreader-inline-bgcolor: var(--darkreader-background-1f1f1f, #17191a);" data-darkreader-inline-color="" data-darkreader-inline-bgcolor=""><div><span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">void</span> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_publish_property_append_padding</span>(<span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">struct</span> <span style="color: rgb(78, 201, 176); --darkreader-inline-color: var(--darkreader-text-4ec9b0, #5ccdb6);" data-darkreader-inline-color="">mqtt_ringbuf_t</span> <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">*</span><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">rb</span>, <span style="color: rgb(78, 201, 176); --darkreader-inline-color: var(--darkreader-text-4ec9b0, #5ccdb6);" data-darkreader-inline-color="">u16_t</span> <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property_len</span>, <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">const</span> <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">char</span> <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">*</span><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">resp_info</span>, <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">const</span> <span style="color: rgb(78, 201, 176); --darkreader-inline-color: var(--darkreader-text-4ec9b0, #5ccdb6);" data-darkreader-inline-color="">mqtt5_publish_property_config_t</span> <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">*</span><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>)</div><div>{</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_head_len_padding</span>(rb, property_len);</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (property <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">==</span> <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">NULL</span>) {</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">return</span>;</div><div> }</div>
<div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">payload_format_indicator</span>) {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, MQTT5_PROPERTY_PAYLOAD_FORMAT_INDICATOR, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">1</span>, <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">NULL</span>, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">1</span>);</div><div> }</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">message_expiry_interval</span>) {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, MQTT5_PROPERTY_MESSAGE_EXPIRY_INTERVAL, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">4</span>, <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">NULL</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">message_expiry_interval</span>);</div><div> }</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">topic_alias</span>) {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, MQTT5_PROPERTY_TOPIC_ALIAS, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">2</span>, <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">NULL</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">topic_alias</span>);</div><div> }</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">response_topic</span>) {</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (resp_info <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">&&</span> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">strlen</span>(resp_info)) {</div><div> <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">uint16_t</span> response_topic_size <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">=</span> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">strlen</span>(<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">response_topic</span>) <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">+</span> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">strlen</span>(resp_info) <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">+</span> <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">1</span>;</div><div> <span style="color: rgb(86, 156, 214); --darkreader-inline-color: var(--darkreader-text-569cd6, #60a4d8);" data-darkreader-inline-color="">char</span> <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">*</span>response_topic <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">=</span> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">calloc</span>(<span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">1</span>, response_topic_size);</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">!</span>response_topic) {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">LWIP_DEBUGF</span>(MQTT_DEBUG_WARN, (<span style="color: rgb(206, 145, 120); --darkreader-inline-color: var(--darkreader-text-ce9178, #cf947b);" data-darkreader-inline-color="">"Failed to calloc </span><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">%d</span><span style="color: rgb(206, 145, 120); --darkreader-inline-color: var(--darkreader-text-ce9178, #cf947b);" data-darkreader-inline-color=""> memory"</span>, response_topic_size));</div><div> }</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">snprintf</span>(response_topic, response_topic_size, <span style="color: rgb(206, 145, 120); --darkreader-inline-color: var(--darkreader-text-ce9178, #cf947b);" data-darkreader-inline-color="">"</span><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">%s</span><span style="color: rgb(206, 145, 120); --darkreader-inline-color: var(--darkreader-text-ce9178, #cf947b);" data-darkreader-inline-color="">/</span><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">%s</span><span style="color: rgb(206, 145, 120); --darkreader-inline-color: var(--darkreader-text-ce9178, #cf947b);" data-darkreader-inline-color="">"</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">response_topic</span>, resp_info);</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, MQTT5_PROPERTY_RESPONSE_TOPIC, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">2</span>, response_topic, response_topic_size) <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">==</span> <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">-</span><span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">1</span>) {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">LWIP_ASSERT</span>(<span style="color: rgb(206, 145, 120); --darkreader-inline-color: var(--darkreader-text-ce9178, #cf947b);" data-darkreader-inline-color="">"response_topic fail</span><span style="color: rgb(215, 186, 125); --darkreader-inline-color: var(--darkreader-text-d7ba7d, #d7ba7d);" data-darkreader-inline-color="">\n\r</span><span style="color: rgb(206, 145, 120); --darkreader-inline-color: var(--darkreader-text-ce9178, #cf947b);" data-darkreader-inline-color="">"</span>, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">0</span>);</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">sys_mfree</span>(response_topic);</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">return</span>;</div><div> }</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">sys_mfree</span>(response_topic);</div><div> } <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">else</span> {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, MQTT5_PROPERTY_RESPONSE_TOPIC, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">2</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">response_topic</span>, <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">strlen</span>(<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">response_topic</span>));</div><div> }</div>
<div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">correlation_data</span> <span style="color: rgb(212, 212, 212); --darkreader-inline-color: var(--darkreader-text-d4d4d4, #cdc8c2);" data-darkreader-inline-color="">&&</span> <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">correlation_data_len</span>) {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, MQTT5_PROPERTY_CORRELATION_DATA, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">2</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">correlation_data</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">correlation_data_len</span>);</div><div> }</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">user_property</span>) {</div><div> <span style="color: rgb(78, 201, 176); --darkreader-inline-color: var(--darkreader-text-4ec9b0, #5ccdb6);" data-darkreader-inline-color="">mqtt5_user_property_item_t</span> item;</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">STAILQ_FOREACH</span>(item, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">user_property</span>, next) {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, MQTT5_PROPERTY_USER_PROPERTY, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">2</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">item</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">key</span>, <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">strlen</span>(<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">item</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">key</span>));</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">0</span>, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">2</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">item</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">value</span>, <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">strlen</span>(<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">item</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">value</span>));</div><div> }</div><div> }</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">if</span> (<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">content_type</span>) {</div><div> <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">mqtt5_property_append</span>(rb, MQTT5_PROPERTY_CONTENT_TYPE, <span style="color: rgb(181, 206, 168); --darkreader-inline-color: var(--darkreader-text-b5cea8, #afcaa1);" data-darkreader-inline-color="">2</span>, <span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">content_type</span>, <span style="color: rgb(220, 220, 170); --darkreader-inline-color: var(--darkreader-text-dcdcaa, #d8d89f);" data-darkreader-inline-color="">strlen</span>(<span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">property</span>-><span style="color: rgb(156, 220, 254); --darkreader-inline-color: var(--darkreader-text-9cdcfe, #87d5fe);" data-darkreader-inline-color="">content_type</span>));</div><div> }</div><div> }</div><div> <span style="color: rgb(197, 134, 192); --darkreader-inline-color: var(--darkreader-text-c586c0, #c688c1);" data-darkreader-inline-color="">return</span>;</div><div>}</div></div>
根据函数名,我们可以知道该函数与推送主题相关。在if (property->response_topic)后面的花括号中包含了相关数据(correlation_data)、用户属性(user_property)、连接类型(content_type)的内容。然而查看官方文档可知,在推送主题中,相关数据、用户属性、连接类型与相应主题不存在从属关系。所以涉及到相关操作时会因为报文错误被服务器踢出。如下图所示,将相关内容删除(红框内的内容),然后复制到下面(黄框内的内容)即可修复该BUG。