From f24c694b0c59072d9b0a6146da8f44445566be0e Mon Sep 17 00:00:00 2001 From: fangyunzhong Date: Sat, 27 May 2023 08:16:38 +0000 Subject: [PATCH] =?UTF-8?q?=E8=BE=93=E5=85=A5=E7=9B=AE=E5=BD=95=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: fangyunzhong --- src/cmd_parser.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/cmd_parser.cpp b/src/cmd_parser.cpp index 4d0ed64..5915af7 100644 --- a/src/cmd_parser.cpp +++ b/src/cmd_parser.cpp @@ -114,16 +114,22 @@ const string &PackageParser::GetDependEntry() const uint32_t PackageParser::AddInput(const string& argValue) { - auto ret = find_if(inputs_.begin(), inputs_.end(), [argValue](auto iter) {return argValue == iter;}); + string inputPath = ResourceUtil::RealPath(argValue); + if (inputPath.empty()) { + cerr << "Error: invalid input '" << argValue << "'" << endl; + return RESTOOL_ERROR; + } + + auto ret = find_if(inputs_.begin(), inputs_.end(), [inputPath](auto iter) {return inputPath == iter;}); if (ret != inputs_.end()) { cerr << "Error: repeat input '" << argValue << "'" << endl; return RESTOOL_ERROR; } - if (!IsAscii(argValue)) { + if (!IsAscii(inputPath)) { return RESTOOL_ERROR; } - inputs_.push_back(argValue); + inputs_.push_back(inputPath); return RESTOOL_SUCCESS; }