diff --git a/include/cmd_parser.h b/include/cmd_parser.h index 98e7510..1bbabcf 100644 --- a/include/cmd_parser.h +++ b/include/cmd_parser.h @@ -35,7 +35,7 @@ public: class PackageParser : public ICmdParser { public: PackageParser() {}; - ~PackageParser() = default; + virtual ~PackageParser() = default; uint32_t Parse(int argc, char *argv[]) override; const std::vector &GetInputs() const; const std::string &GetPackageName() const; @@ -104,7 +104,7 @@ template void CmdParser::ShowUseage() { std::cout << "This is an OHOS Packaging Tool.\n"; - std::cout << "Useage:\n"; + std::cout << "Usage:\n"; std::cout << TOOL_NAME << " [arguments] Package the OHOS resources.\n"; std::cout << "[arguments]:\n"; std::cout << " -i input resource path, can add more.\n"; diff --git a/include/file_manager.h b/include/file_manager.h index c19802e..747cad3 100644 --- a/include/file_manager.h +++ b/include/file_manager.h @@ -28,7 +28,7 @@ namespace Restool { class FileManager : public Singleton { public: uint32_t ScanModules(const std::vector &inputs, const std::string &output); - const std::map> &GetResources() const { return alls_; }; + const std::map> &GetResources() const { return items_; }; void SetModuleName(const std::string &moduleName) { moduleName_ = moduleName; }; uint32_t ScanIncrement(const std::string &output); @@ -42,7 +42,7 @@ private: const std::map> &resTypeOfDirs) const; // id, resource items - std::map> alls_; + std::map> items_; std::string moduleName_; }; } diff --git a/include/reference_parser.h b/include/reference_parser.h index 60e9e8f..b1c3b1e 100644 --- a/include/reference_parser.h +++ b/include/reference_parser.h @@ -27,7 +27,7 @@ public: ReferenceParser(); virtual ~ReferenceParser(); uint32_t ParseRefInSolidXml(const std::vector &solidXmlFolders) const; - uint32_t ParseRefInElement(std::map> &alls) const; + uint32_t ParseRefInElement(std::map> &items) const; uint32_t ParseRefInString(std::string &value, bool &update) const; uint32_t ParseRefInProfile(const std::string &output) const; uint32_t ParseRefInJson(const std::string &filePath) const; diff --git a/include/resource_util.h b/include/resource_util.h index f61e752..bbc9a24 100644 --- a/include/resource_util.h +++ b/include/resource_util.h @@ -116,7 +116,7 @@ public: static bool CopyFleInner(const std::string &src, const std::string &dst); /** - * @brief create directorys + * @brief create directories * @param filePath: directory path * @return true if success, other false */ diff --git a/src/file_manager.cpp b/src/file_manager.cpp index 5a14b0a..5f1795d 100644 --- a/src/file_manager.cpp +++ b/src/file_manager.cpp @@ -46,7 +46,7 @@ uint32_t FileManager::ScanModules(const vector &inputs, const string &ou uint32_t FileManager::ScanIncrement(const string &output) { auto &incrementManager = IncrementManager::GetInstance(); - alls_ = incrementManager.GetResourceItems(); + items_ = incrementManager.GetResourceItems(); vector sxmlFolders; FilterRefSolidXml(output, sxmlFolders, incrementManager.GetScanDirs()); return ParseReference(output, sxmlFolders); @@ -67,14 +67,14 @@ uint32_t FileManager::ScanModule(const string &input, const string &output, uint32_t FileManager::MergeResourceItem(const map> &resourceInfos) { - return ResourceModule::MergeResourceItem(alls_, resourceInfos); + return ResourceModule::MergeResourceItem(items_, resourceInfos); } uint32_t FileManager::ParseReference(const string &output, const vector &sxmlFolders) { ReferenceParser referenceParser; if (referenceParser.ParseRefInSolidXml(sxmlFolders) != RESTOOL_SUCCESS || - referenceParser.ParseRefInElement(alls_) != RESTOOL_SUCCESS || + referenceParser.ParseRefInElement(items_) != RESTOOL_SUCCESS || referenceParser.ParseRefInProfile(output) != RESTOOL_SUCCESS) { return RESTOOL_ERROR; } diff --git a/src/reference_parser.cpp b/src/reference_parser.cpp index 7467382..c799eec 100644 --- a/src/reference_parser.cpp +++ b/src/reference_parser.cpp @@ -87,9 +87,9 @@ uint32_t ReferenceParser::ParseRefInSolidXml(const vector &solidXmlFolde return RESTOOL_SUCCESS; } -uint32_t ReferenceParser::ParseRefInElement(map> &alls) const +uint32_t ReferenceParser::ParseRefInElement(map> &items) const { - for (auto &iter : alls) { + for (auto &iter : items) { for (auto &resourceItem : iter.second) { if (IsNotElement(resourceItem.GetResType())) { break; diff --git a/src/resource_util.cpp b/src/resource_util.cpp index 3fcc3fc..deb0815 100644 --- a/src/resource_util.cpp +++ b/src/resource_util.cpp @@ -75,7 +75,7 @@ bool ResourceUtil::OpenJsonFile(const string &path, Json::Value &root) { ifstream ifs(path, ios::binary); if (!ifs) { - cerr << "Error: open json faild '" << path << "'" << endl; + cerr << "Error: open json failed '" << path << "'" << endl; return false; } diff --git a/src/restool.cpp b/src/restool.cpp index 135ed98..85e780d 100644 --- a/src/restool.cpp +++ b/src/restool.cpp @@ -33,6 +33,10 @@ uint32_t PackCmdHandle(PackageParser &packageParser) int main(int argc, char *argv[]) { + if (argv == nullptr) { + cerr << "Error: argv null" << endl; + return RESTOOL_ERROR; + } auto &parser = CmdParser::GetInstance(); if (parser.Parse(argc, argv) != RESTOOL_SUCCESS) { parser.ShowUseage(); diff --git a/src/xml/solid_xml.cpp b/src/xml/solid_xml.cpp index c1fbee7..bd7f9f6 100644 --- a/src/xml/solid_xml.cpp +++ b/src/xml/solid_xml.cpp @@ -43,9 +43,14 @@ bool SolidXml::GenerateSolidXml(const string &filePath) return false; } + xmlNodePtr rootNode = xmlDocGetRootElement(doc); + if (rootNode == nullptr) { + xmlFreeDoc(doc); + return false; + } auto root = make_shared(); nodes_.push_back(root); - Compile(xmlDocGetRootElement(doc), root); + Compile(rootNode, root); xmlFreeDoc(doc); return SaveToFile(filePath); }