diff --git a/utils/src/b_json/b_json_entity_ext_manage.cpp b/utils/src/b_json/b_json_entity_ext_manage.cpp index 56b4749f0a3f0cfc41980c4606ad0cbb1f3cc9a1..c136a935872de69d4a638e38503687a561a23e8a 100644 --- a/utils/src/b_json/b_json_entity_ext_manage.cpp +++ b/utils/src/b_json/b_json_entity_ext_manage.cpp @@ -27,6 +27,9 @@ namespace OHOS::FileManagement::Backup { using namespace std; +namespace { + const int32_t DEFAULT_MODE = 0100660; //0660 +} static bool CheckBigFile(const string &tarFile) { @@ -49,21 +52,18 @@ static bool CheckUserTar(const string &fileName) HILOGI("file does not exists"); return false; } - return (ExtractFileExt(fileName) == "tar") && CheckBigFile(fileName); } Json::Value Stat2JsonValue(struct stat sta) { Json::Value value; - value["st_size"] = static_cast(sta.st_size); value["st_mode"] = static_cast(sta.st_mode); value["st_atim"]["tv_sec"] = static_cast(sta.st_atim.tv_sec); value["st_atim"]["tv_nsec"] = static_cast(sta.st_atim.tv_nsec); value["st_mtim"]["tv_sec"] = static_cast(sta.st_mtim.tv_sec); value["st_mtim"]["tv_nsec"] = static_cast(sta.st_mtim.tv_nsec); - return value; } @@ -76,7 +76,7 @@ struct stat JsonValue2Stat(const Json::Value &value) } sta.st_size = value.isMember("st_size") && value["st_size"].isInt64() ? value["st_size"].asInt64() : 0; - sta.st_mode = value.isMember("st_mode") && value["st_mode"].isInt() ? value["st_mode"].asInt() : 0; + sta.st_mode = value.isMember("st_mode") && value["st_mode"].isInt() ? value["st_mode"].asInt() : DEFAULT_MODE; if (value.isMember("st_atim")) { sta.st_atim.tv_sec = value["st_atim"].isMember("tv_sec") && value["st_atim"]["tv_sec"].isInt64() ? value["st_atim"]["tv_sec"].asInt64()