From: hcj <1224667075@qq.com> Date: Wed, 6 Nov 2024 13:17:30 +0000 (+0800) Subject: 修复死机文件ble上传 X-Git-Tag: fd230_release_V1.3.102~111 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=1c238cbf0fac17b6aab3f282629ab59361998120;p=mirrors%2FFD230.git 修复死机文件ble上传 --- diff --git a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp index 021761bcd..eed30fc31 100644 --- a/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp +++ b/code/sdk/application/wearable/service/ble_service/blemoder/bletest.cpp @@ -1732,17 +1732,19 @@ void get_tar_dir_file_count(void) { char dir_path[128]={0}; sprintf_s(dir_path,128,"%s",TAR_PATH); - + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"TAR_PATH %s\r\n",dir_path); struct DIR *dir; struct dirent *ent; - std::string fileName = ent->d_name; + file_count=0; if ((dir = opendir(dir_path)) != NULL) { while ((ent = readdir(dir)) != NULL) { + std::string fileName = ent->d_name; + if (fileName != "." && fileName != "..") { @@ -1758,8 +1760,12 @@ void get_tar_dir_file_count(void) continue; } } + closedir(dir); + } + else + { + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"enenenenen \r\n"); } - closedir(dir); file_index=1; return; } @@ -1767,7 +1773,7 @@ void get_tar_dir_file_count(void) uint32_t tar_rmove(char *tar_path) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"remove %s\r\n",tar_path); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"remove %s\r\n",tar_path); if(0==remove(tar_path)) return 1; else @@ -1776,8 +1782,8 @@ uint32_t tar_rmove(char *tar_path) char * tar_dir_to_json_buf_malloc_(char* file_name,uint32_t *file_size) { - char dir_path[128]={0}; - sprintf_s(dir_path,128,"%s",TAR_PATH); + char dir_path[256]={0}; + sprintf_s(dir_path,256,"%s",TAR_PATH); cJSON *dataJSON = cJSON_CreateObject(); cJSON* data_arryJSON = cJSON_CreateArray(); @@ -1793,20 +1799,17 @@ char * tar_dir_to_json_buf_malloc_(char* file_name,uint32_t *file_size) if (fileName != "." && fileName != "..") { - //std::string filePath = directory + fileName; - - if (ent->d_type == DT_REG || ent->d_type == DT_UNKNOWN ) // 普通文件 { //*file_size=ent->d_reclen; - char file_path[128]={0}; - sprintf_s(file_path,128,"%s/%s",TAR_PATH,ent->d_name); + char file_path[256]={0}; + sprintf_s(file_path,256,"%s/%s",TAR_PATH,ent->d_name); FILE * fp = fopen(file_path,"rb+"); if(fp==NULL) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP," fopen fail %s\r\n",file_path); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP," fopen fail %s\r\n",file_path); return NULL; } if (fp != NULL)