fix: mStopIfError/GetMacAddr/get_ipstr_to_array 误被 #if NET_SSC_ENABLE 排除

这些共享函数被包裹在 #if NET_SSC_ENABLE 中导致链接失败:
- mStopIfError — net_srv_init 调用
- GetMacAddr     — peripheral_main 调用
- get_ipstr_to_array — tcp_json_srv 调用

修复:在 clear_mqtt_buf 后关闭 #if,mStopIfError 后重开;
在 poll_mqtt 后关闭 #if,get_ipstr_to_array 后重开
This commit is contained in:
wangfq
2026-07-01 13:35:14 +08:00
parent e5c99069a0
commit 131d767cc3
@@ -83,6 +83,8 @@ void clear_mqtt_buf(void)
memset(mqttBuf, 0, MAX_MQTTBUF_LEN);
}
#endif /* NET_SSC_ENABLE */
/*********************************************************************
* @fn mStopIfError
*
@@ -98,6 +100,7 @@ void mStopIfError(u8 iError)
printf("Error: 0x%02X\r\n", (u16)iError);
}
#if NET_SSC_ENABLE
void mqtt_connect(void)
{
@@ -504,10 +507,8 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat)
WCHNET_ModifyRecvBuf(socketid, (uint32_t) SocketRecvBuf[socketid], RECE_BUF_LEN);
{
PRINT("TCP Connect Success
\n");
PRINT("socket id: %d
\n", socketid);
PRINT("TCP Connect Success\r\n");
PRINT("socket id: %d\r\n", socketid);
}
// if(g_sub_code_enable.iot_enable){
@@ -517,8 +518,7 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat)
if (intstat & SINT_STAT_DISCONNECT) //disconnect
{
{
PRINT("TCP Disconnect
\n");
PRINT("TCP Disconnect\r\n");
}
// WCHNET_SocketClose(socketid, 0);
g_net_state.flag = 1;
@@ -533,8 +533,7 @@ void WCHNET_HandleSockInt(uint8_t socketid, uint8_t intstat)
// }
// if(g_flag_debug)
{
PRINT("TCP Timeout
\n");
PRINT("TCP Timeout\r\n");
}
// WCHNET_SocketClose(socketid, 0);
g_net_state.flag = 1;
@@ -606,6 +605,8 @@ void poll_mqtt(void)
}
}
#endif /* NET_SSC_ENABLE */
/*******************************************************************************
* Function Name : GetMacAddr
@@ -630,51 +631,38 @@ void GetMacAddr(unsigned char *pMAC)
// IPv4ַַתΪ4ֽڵuint8_tϸĴ
int get_ipstr_to_array(char *src, uint8_t *dst) {
if (src == NULL || dst == NULL) {
return -1; // Чָ
return -1;
}
int part_count = 0;
char *token = NULL;
char *saveptr = NULL;
const char *delim = ".";
// ַӦÿ޸ĵڴ棨ڴ棩Ϊstrtok_r޸ַ
// ޸ĵַȽп
char src_copy[16];
strncpy(src_copy, src, sizeof(src_copy));
src_copy[15] = '\0';
// ״ηָ
token = strtok_r(src_copy, delim, &saveptr);
while (token != NULL && part_count < 4) {
char *endptr = NULL;
long val = strtol(token, &endptr, 10);
// תЧ
if (*endptr != '\0' || val < 0 || val > 255) {
return -2; // ֻ򳬳Χ
return -2;
}
dst[part_count++] = (uint8_t)val;
// ָ
token = strtok_r(NULL, delim, &saveptr);
}
// Ƿ4
if (part_count != 4) {
return -3; //
return -3;
}
// Ƿжַ
if (token != NULL || (saveptr != NULL && *saveptr != '\0')) {
return -4; // ڶַָ
return -4;
}
return 0; // ɹ
return 0;
}
#if NET_SSC_ENABLE
void unpack_ssc_count_off(uint8_t socket,uint8_t count_mode, uint8_t *ip, uint16_t port, uint8_t *buf, uint32_t len)
{