Browse Source

update: 优化ftp库,栈扩大到8k,调整task启动顺序和优先级, 清除编译警告,连接参数改成预分配内存

Wendal Chen 2 years ago
parent
commit
d3f5968999
1 changed files with 52 additions and 87 deletions
  1. 52 87
      components/network/libftp/luat_ftp_client.c

+ 52 - 87
components/network/libftp/luat_ftp_client.c

@@ -50,10 +50,10 @@ typedef struct{
 	network_ctrl_t *cmd_netc;		// ftp netc
 	network_ctrl_t *data_netc;	// ftp data_netc
 	luat_ip_addr_t ip_addr;		// ftp ip
-	const char *addr; 			// ftp addr
-	const char *username; 		// ftp username
-	const char *password; 		// ftp password
-	const char *remote_name;//去掉?
+	char addr[64]; 			// ftp addr
+	char username[64]; 		// ftp username
+	char password[64]; 		// ftp password
+	char remote_name[64];//去掉?
     size_t upload_done_size;
 	size_t local_file_size;
 	uint8_t cmd_send_data[FTP_CMD_SEND_MAX];
@@ -94,22 +94,6 @@ static uint32_t luat_ftp_close(void) {
 		network_release_ctrl(g_s_ftp.network->data_netc);
 		g_s_ftp.network->data_netc = NULL;
 	}
-	if (g_s_ftp.network->addr){
-		luat_heap_free(g_s_ftp.network->addr);
-		g_s_ftp.network->addr = NULL;
-	}
-	if (g_s_ftp.network->username){
-		luat_heap_free(g_s_ftp.network->username);
-		g_s_ftp.network->username = NULL;
-	}
-	if (g_s_ftp.network->password){
-		luat_heap_free(g_s_ftp.network->password);
-		g_s_ftp.network->password = NULL;
-	}
-	if (g_s_ftp.network->remote_name){
-		luat_heap_free(g_s_ftp.network->remote_name);
-		g_s_ftp.network->remote_name = NULL;
-	}
 	luat_heap_free(g_s_ftp.network);
 	g_s_ftp.network = NULL;
 	return 0;
@@ -285,9 +269,6 @@ static int32_t luat_ftp_data_callback(void *data, void *param){
 static int32_t ftp_task_cb(void *pdata, void *param)
 {
 	OS_EVENT *event = pdata;
-	uint8_t *rx_buffer;
-	int ret = 0;
-	uint32_t rx_len = 0;
 	if (event->ID >= FTP_EVENT_LOGIN && event->ID <= FTP_EVENT_PUSH)
 	{
 		LLOGE("last cmd not finish, ignore %d,%u,%u,%x", event->ID - USER_EVENT_ID_START, event->Param1, event->Param2, param);
@@ -298,8 +279,8 @@ static int32_t ftp_task_cb(void *pdata, void *param)
 	case FTP_EVENT_DATA_WRITE_FILE:
 		if (g_s_ftp.fd)
 		{
-			luat_fs_fwrite(event->Param1, event->Param2, 1, g_s_ftp.fd);
-			luat_heap_free(event->Param1);
+			luat_fs_fwrite((void*)event->Param1, event->Param2, 1, g_s_ftp.fd);
+			luat_heap_free((void*)event->Param1);
 		}
 		break;
 	case FTP_EVENT_DATA_TX_DONE:
@@ -341,8 +322,8 @@ static int luat_ftp_pasv_connect(luat_ftp_ctrl_t *ftp_ctrl,uint32_t timeout_ms){
 	char h1[4]={0},h2[4]={0},h3[4]={0},h4[4]={0},p1[4]={0},p2[4]={0},data_addr[64]={0};
 	uint8_t port1,port2;
 	uint16_t data_port;	
-	luat_ftp_cmd_send(g_s_ftp.network, (uint8_t*)"PASV\r\n", strlen("PASV\r\n"),FTP_SOCKET_TIMEOUT);
-	int ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+	luat_ftp_cmd_send(&g_s_ftp, (uint8_t*)"PASV\r\n", strlen("PASV\r\n"),FTP_SOCKET_TIMEOUT);
+	int ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 	if (ret){
 		return -1;
 	}else{
@@ -441,7 +422,7 @@ static int ftp_login(void)
 		LLOGE("ftp network_connect fail");
 		return -1;
 	}
-	ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+	ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 	if (ret){
 		return -1;
 	}else{
@@ -453,8 +434,8 @@ static int ftp_login(void)
 	LLOGD("ftp connect ok");
 	memset(g_s_ftp.network->cmd_send_data,0,FTP_CMD_SEND_MAX);
 	snprintf_((char *)(g_s_ftp.network->cmd_send_data), FTP_CMD_SEND_MAX, "USER %s\r\n",g_s_ftp.network->username);
-	luat_ftp_cmd_send(g_s_ftp.network, g_s_ftp.network->cmd_send_data, strlen((const char *)(g_s_ftp.network->cmd_send_data)),FTP_SOCKET_TIMEOUT);
-	ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+	luat_ftp_cmd_send(&g_s_ftp, g_s_ftp.network->cmd_send_data, strlen((const char *)(g_s_ftp.network->cmd_send_data)),FTP_SOCKET_TIMEOUT);
+	ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 	if (ret){
 		LLOGE("ftp username wrong");
 		return -1;
@@ -467,8 +448,8 @@ static int ftp_login(void)
 	LLOGD("ftp username ok");
 	memset(g_s_ftp.network->cmd_send_data,0,FTP_CMD_SEND_MAX);
 	snprintf_((char *)(g_s_ftp.network->cmd_send_data), FTP_CMD_SEND_MAX, "PASS %s\r\n",g_s_ftp.network->password);
-	luat_ftp_cmd_send(g_s_ftp.network, g_s_ftp.network->cmd_send_data, strlen((const char *)(g_s_ftp.network->cmd_send_data)),FTP_SOCKET_TIMEOUT);
-	ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+	luat_ftp_cmd_send(&g_s_ftp, g_s_ftp.network->cmd_send_data, strlen((const char *)(g_s_ftp.network->cmd_send_data)),FTP_SOCKET_TIMEOUT);
+	ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 	if (ret){
 		LLOGE("ftp login wrong");
 		return -1;
@@ -489,7 +470,6 @@ static void ftp_task(void *param){
 	OS_EVENT task_event;
 	rtos_msg_t msg = {0};
 	uint8_t is_timeout = 0;
-	uint8_t is_online = 0;
 	g_s_ftp.is_run = 1;
     msg.handler = l_ftp_callback;
 	luat_rtos_event_recv(g_s_ftp.task_handle, FTP_EVENT_LOGIN, &task_event, NULL, LUAT_WAIT_FOREVER);
@@ -539,13 +519,13 @@ static void ftp_task(void *param){
 				network_release_ctrl(g_s_ftp.network->data_netc);
 				g_s_ftp.network->data_netc = NULL;
 			}
-			if(luat_ftp_pasv_connect(g_s_ftp.network,FTP_SOCKET_TIMEOUT)){
+			if(luat_ftp_pasv_connect(&g_s_ftp,FTP_SOCKET_TIMEOUT)){
 				LLOGE("ftp pasv_connect fail");
 				goto operation_failed;
 			}
 			snprintf_((char *)(g_s_ftp.network->cmd_send_data), FTP_CMD_SEND_MAX, "RETR %s\r\n",g_s_ftp.network->remote_name);
-			luat_ftp_cmd_send(g_s_ftp.network, g_s_ftp.network->cmd_send_data, strlen((const char *)g_s_ftp.network->cmd_send_data),FTP_SOCKET_TIMEOUT);
-			ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+			luat_ftp_cmd_send(&g_s_ftp, g_s_ftp.network->cmd_send_data, strlen((const char *)g_s_ftp.network->cmd_send_data),FTP_SOCKET_TIMEOUT);
+			ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 			if (ret){
 				goto operation_failed;
 			}else{
@@ -570,7 +550,7 @@ static void ftp_task(void *param){
 					break;
 				}
 			}
-			ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+			ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 			if (ret){
 				goto operation_failed;
 			}else{
@@ -580,7 +560,7 @@ static void ftp_task(void *param){
 				}
 			}
 			while (count<3 && g_s_ftp.network->data_netc_online!=0){
-				luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT/3);
+				luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT/3);
 				count++;
 			}
 			if (g_s_ftp.fd){
@@ -590,15 +570,15 @@ static void ftp_task(void *param){
 			luat_msgbus_put(&msg, 0);
 			break;
 		case FTP_EVENT_PUSH:
-			if(luat_ftp_pasv_connect(g_s_ftp.network,FTP_SOCKET_TIMEOUT)){
+			if(luat_ftp_pasv_connect(&g_s_ftp,FTP_SOCKET_TIMEOUT)){
 				LLOGD("ftp pasv_connect fail");
 				goto operation_failed;
 			}
 
 			memset(g_s_ftp.network->cmd_send_data,0,FTP_CMD_SEND_MAX);
 			snprintf_((char *)(g_s_ftp.network->cmd_send_data), FTP_CMD_SEND_MAX, "STOR %s\r\n",g_s_ftp.network->remote_name);
-			luat_ftp_cmd_send(g_s_ftp.network, g_s_ftp.network->cmd_send_data, strlen((const char *)g_s_ftp.network->cmd_send_data),FTP_SOCKET_TIMEOUT);
-			ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+			luat_ftp_cmd_send(&g_s_ftp, g_s_ftp.network->cmd_send_data, strlen((const char *)g_s_ftp.network->cmd_send_data),FTP_SOCKET_TIMEOUT);
+			ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 			if (ret){
 				goto operation_failed;
 			}else{
@@ -616,12 +596,12 @@ static void ftp_task(void *param){
 				int len = luat_fs_fread(buff, sizeof(uint8_t), PUSH_BUFF_SIZE, g_s_ftp.fd);
 				if (len < 1)
 					break;
-				luat_ftp_data_send(g_s_ftp.network, buff, len);
+				luat_ftp_data_send(&g_s_ftp, buff, len);
 				offset += len;
 			}
 			luat_heap_free(buff);
 			LLOGD("offset:%d file_size:%d",offset,g_s_ftp.network->local_file_size);
-			ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+			ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 			if (g_s_ftp.network->upload_done_size != g_s_ftp.network->local_file_size)
 			{
 				LLOGE("upload not finish !!! %d,%d", g_s_ftp.network->upload_done_size, g_s_ftp.network->local_file_size);
@@ -634,7 +614,7 @@ static void ftp_task(void *param){
 				}
 			}
 			while (count<3 && g_s_ftp.network->data_netc_online!=0){
-				luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT/3);
+				luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT/3);
 				count++;
 			}
 			if (g_s_ftp.fd){
@@ -650,12 +630,12 @@ static void ftp_task(void *param){
 			OS_DeInitBuffer(&g_s_ftp.result_buffer);
 			if(!memcmp(g_s_ftp.network->cmd_send_data, "LIST", 4))
 			{
-				if(luat_ftp_pasv_connect(g_s_ftp.network,FTP_SOCKET_TIMEOUT)){
+				if(luat_ftp_pasv_connect(&g_s_ftp,FTP_SOCKET_TIMEOUT)){
 					LLOGD("ftp pasv_connect fail");
 					goto operation_failed;
 				}
-				luat_ftp_cmd_send(g_s_ftp.network, g_s_ftp.network->cmd_send_data, strlen((const char *)(g_s_ftp.network->cmd_send_data)),FTP_SOCKET_TIMEOUT);
-				ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+				luat_ftp_cmd_send(&g_s_ftp, g_s_ftp.network->cmd_send_data, strlen((const char *)(g_s_ftp.network->cmd_send_data)),FTP_SOCKET_TIMEOUT);
+				ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 				if (ret){
 					goto operation_failed;
 				}else{
@@ -676,7 +656,7 @@ static void ftp_task(void *param){
 						break;
 					}
 				}
-				ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+				ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 				if (ret){
 					goto operation_failed;
 				}else{
@@ -689,8 +669,8 @@ static void ftp_task(void *param){
 				luat_msgbus_put(&msg, 0);
 				break;
 			}
-			luat_ftp_cmd_send(g_s_ftp.network, g_s_ftp.network->cmd_send_data, strlen((const char *)(g_s_ftp.network->cmd_send_data)),FTP_SOCKET_TIMEOUT);
-			ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+			luat_ftp_cmd_send(&g_s_ftp, g_s_ftp.network->cmd_send_data, strlen((const char *)(g_s_ftp.network->cmd_send_data)),FTP_SOCKET_TIMEOUT);
+			ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 			if (ret){
 				goto operation_failed;
 			}else{
@@ -751,8 +731,8 @@ operation_failed:
 
 	msg.arg1 = 0;
 	msg.arg2 = 0;
-	luat_ftp_cmd_send(g_s_ftp.network, (uint8_t*)"QUIT\r\n", strlen("QUIT\r\n"),FTP_SOCKET_TIMEOUT);
-	ret = luat_ftp_cmd_recv(g_s_ftp.network,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
+	luat_ftp_cmd_send(&g_s_ftp, (uint8_t*)"QUIT\r\n", strlen("QUIT\r\n"),FTP_SOCKET_TIMEOUT);
+	ret = luat_ftp_cmd_recv(&g_s_ftp,g_s_ftp.network->cmd_recv_data,&g_s_ftp.network->cmd_recv_len,FTP_SOCKET_TIMEOUT);
 	if (ret){
 		msg.arg1 = 1;
 	}else{
@@ -798,14 +778,14 @@ FTP客户端
 ftp_login = ftp.login(nil,"xxx")
 */
 static int l_ftp_login(lua_State *L) {
-	size_t server_cert_len,client_cert_len, client_key_len, client_password_len,addr_len,username_len,password_len;
+	size_t server_cert_len,client_cert_len, client_key_len, client_password_len;
+	size_t len = 0;
 	const char *server_cert = NULL;
 	const char *client_cert = NULL;
 	const char *client_key = NULL;
 	const char *client_password = NULL;
 	const char *username = NULL;
 	const char *password = NULL;
-	uint8_t is_timeout = 0;
 	int result = 0;
 	// mbedtls_debug_set_threshold(4);
 	if (g_s_ftp.network){
@@ -823,7 +803,7 @@ static int l_ftp_login(lua_State *L) {
 	memset(g_s_ftp.network, 0, sizeof(luat_ftp_network_t));
 
 	g_s_ftp.network->adapter_index = luaL_optinteger(L, 1, network_get_last_register_adapter());
-	if (g_s_ftp.network->adapter_index < 0 || g_s_ftp.network->adapter_index >= NW_ADAPTER_QTY){
+	if (g_s_ftp.network->adapter_index >= NW_ADAPTER_QTY){
 		LLOGE("bad network adapter index %d", g_s_ftp.network->adapter_index);
 		result = FTP_ERROR_STATE;
 		goto error;
@@ -836,27 +816,20 @@ static int l_ftp_login(lua_State *L) {
 		goto error;
 	}
 
-	luat_rtos_task_create(&g_s_ftp.task_handle, 2048, 40, "ftp", ftp_task, NULL, 16);
-	network_init_ctrl(g_s_ftp.network->cmd_netc,g_s_ftp.task_handle, ftp_task_cb, NULL);
-	network_set_base_mode(g_s_ftp.network->cmd_netc, 1, 30000, 0, 0, 0, 0);
-	network_set_local_port(g_s_ftp.network->cmd_netc, 0);
 
-	const char *addr = luaL_checklstring(L, 2, &addr_len);
-	g_s_ftp.network->addr = luat_heap_malloc(addr_len + 1);
-	memset(g_s_ftp.network->addr, 0, addr_len + 1);
-	memcpy(g_s_ftp.network->addr, addr, addr_len);
+	const char *addr = luaL_checklstring(L, 2, &len);
+	if (len > 0 && len < 64)
+		memcpy(g_s_ftp.network->addr, addr, len + 1);
 
 	g_s_ftp.network->port = luaL_optinteger(L, 3, 21);
 
-	username = luaL_optlstring(L, 4, "",&username_len);
-	g_s_ftp.network->username = luat_heap_malloc(username_len + 1);
-	memset(g_s_ftp.network->username, 0, username_len + 1);
-	memcpy(g_s_ftp.network->username, username, username_len);
+	username = luaL_optlstring(L, 4, "",&len);
+	if (len > 0 && len < 64)
+		memcpy(g_s_ftp.network->username, username, len + 1);
 
-	password = luaL_optlstring(L, 5, "",&password_len);
-	g_s_ftp.network->password = luat_heap_malloc(password_len + 1);
-	memset(g_s_ftp.network->password, 0, password_len + 1);
-	memcpy(g_s_ftp.network->password, password, password_len);
+	password = luaL_optlstring(L, 5, "",&len);
+	if (len > 0 && len < 64)
+		memcpy(g_s_ftp.network->password, password, len + 1);
 
 	// 加密相关
 	if (lua_isboolean(L, 6)){
@@ -922,6 +895,10 @@ static int l_ftp_login(lua_State *L) {
 	}
 
 	network_set_ip_invaild(&g_s_ftp.network->ip_addr);
+	luat_rtos_task_create(&g_s_ftp.task_handle, 8*1024, 10, "ftp", ftp_task, NULL, 16);
+	network_init_ctrl(g_s_ftp.network->cmd_netc,g_s_ftp.task_handle, ftp_task_cb, NULL);
+	network_set_base_mode(g_s_ftp.network->cmd_netc, 1, 30000, 0, 0, 0, 0);
+	network_set_local_port(g_s_ftp.network->cmd_netc, 0);
 
 	g_s_ftp.idp = luat_pushcwait(L);
 	luat_rtos_event_send(g_s_ftp.task_handle, FTP_EVENT_LOGIN, 0, 0, 0, LUAT_WAIT_FOREVER);
@@ -1025,14 +1002,8 @@ static int l_ftp_pull(lua_State *L) {
 	}
 	g_s_ftp.network->local_file_size = luat_fs_fsize(local_name);
 	const char * remote_name = luaL_optlstring(L, 2, "",&len);
-	if (g_s_ftp.network->remote_name) {
-		luat_heap_free(g_s_ftp.network->remote_name);
-		g_s_ftp.network->remote_name = NULL;
-	}
-	g_s_ftp.network->remote_name = luat_heap_malloc(len + 1);
-	memset(g_s_ftp.network->remote_name, 0, len + 1);
-	memcpy(g_s_ftp.network->remote_name, remote_name, len);
-	luat_rtos_event_send(g_s_ftp.task_handle, FTP_EVENT_PULL, 0, 0, 0, NULL);
+	memcpy(g_s_ftp.network->remote_name, remote_name, len + 1);
+	luat_rtos_event_send(g_s_ftp.task_handle, FTP_EVENT_PULL, 0, 0, 0, 0);
 	return 1;
 error:
 	LLOGE("ftp pull fail");
@@ -1070,13 +1041,7 @@ static int l_ftp_push(lua_State *L) {
 	}
 	g_s_ftp.network->local_file_size = luat_fs_fsize(local_name);
 	const char * remote_name = luaL_optlstring(L, 2, "",&len);
-	if (g_s_ftp.network->remote_name) {
-		luat_heap_free(g_s_ftp.network->remote_name);
-		g_s_ftp.network->remote_name = NULL;
-	}
-	g_s_ftp.network->remote_name = luat_heap_malloc(len + 1);
-	memset(g_s_ftp.network->remote_name, 0, len + 1);
-	memcpy(g_s_ftp.network->remote_name, remote_name, len);
+	memcpy(g_s_ftp.network->remote_name, remote_name, len + 1);
 	luat_rtos_event_send(g_s_ftp.task_handle, FTP_EVENT_PUSH, 0, 0, 0, LUAT_WAIT_FOREVER);
 	return 1;
 error:
@@ -1131,7 +1096,7 @@ LUAMOD_API int luaopen_ftp( lua_State *L ) {
     luat_newlib2(L, reg_ftp);
 #else
     luat_newlib2(L, reg_ftp_emtry);
-	LLOGE("reg_ftp require network enable!!");
+	LLOGE("ftp require network enable!!");
 #endif
     return 1;
 }