Skip to content

Commit a9a2d87

Browse files
authored
Merge pull request #63 from xqyjlj/master
修复subscribe的因为没对齐引起的死机问题
2 parents 835a542 + be5ba4e commit a9a2d87

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

mqttclient/mqttclient.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1306,6 +1306,7 @@ int mqtt_subscribe(mqtt_client_t* c, const char* topic_filter, mqtt_qos_t qos, m
13061306
{
13071307
int rc = MQTT_SUBSCRIBE_ERROR;
13081308
int len = 0;
1309+
int qos_level = qos; /* This can avoid alignment bugs, because enum is not int on some compilers */
13091310
uint16_t packet_id;
13101311
platform_timer_t timer;
13111312
MQTTString topic = MQTTString_initializer;
@@ -1320,7 +1321,7 @@ int mqtt_subscribe(mqtt_client_t* c, const char* topic_filter, mqtt_qos_t qos, m
13201321
packet_id = mqtt_get_next_packet_id(c);
13211322

13221323
/* serialize subscribe packet and send it */
1323-
len = MQTTSerialize_subscribe(c->mqtt_write_buf, c->mqtt_write_buf_size, 0, packet_id, 1, &topic, (int*)&qos);
1324+
len = MQTTSerialize_subscribe(c->mqtt_write_buf, c->mqtt_write_buf_size, 0, packet_id, 1, &topic, (int *)&qos_level);
13241325
if (len <= 0)
13251326
goto exit;
13261327

0 commit comments

Comments
 (0)