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