From 72f660ea5a4b1194794872ce5951a8832f326631 Mon Sep 17 00:00:00 2001 From: msojocs Date: Sat, 23 Sep 2023 22:57:52 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20WXMLDom::RenderNonDefine=E5=86=85?= =?UTF-8?q?=E9=83=A8=E9=80=BB=E8=BE=91=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .vscode/settings.json | 4 ++-- changelog.md | 6 ++++++ src/wxml/dom_lib/wxml_dom.cpp | 11 ++++++++--- test/wcc.disassembly.cpp | 2 +- test/wcc.sh | 8 ++++---- 5 files changed, 21 insertions(+), 10 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 422da39..7e511e5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -57,10 +57,10 @@ "variant": "cpp" }, "cmake.debugConfig": { - "cwd": "/mnt/d/Work/WeChatProjects/tdesign-miniprogram-starter-retail", + "cwd": "/mnt/d/Work/WeChatProjects/issue/91/build", "args": [ "\"--config-path\"", - "\"/mnt/d/Work/WeChatProjects/case4-cmd.txt\"" + "\"/mnt/d/Work/WeChatProjects/issue/91/cmd/case1-cmd.txt\"" ] }, "cmake.configureSettings": { diff --git a/changelog.md b/changelog.md index 11c7647..234d1ba 100644 --- a/changelog.md +++ b/changelog.md @@ -1,3 +1,9 @@ +## ๐ŸŒˆ v0.0.5 / 2023-09-23 + +๐Ÿž Bug Fixes + +- `WXMLDom::RenderNonDefine`: ๅ†…้ƒจ้€ป่พ‘้”™่ฏฏ๏ผŒๆ„Ÿ่ฐข @Silentdoer [issue ref](https://github.com/msojocs/wechat-web-devtools-linux/issues/91) + ## ๐ŸŒˆ v0.0.4 / 2023-08-31 ๐Ÿž Bug Fixes diff --git a/src/wxml/dom_lib/wxml_dom.cpp b/src/wxml/dom_lib/wxml_dom.cpp index 5617fba..15be56e 100644 --- a/src/wxml/dom_lib/wxml_dom.cpp +++ b/src/wxml/dom_lib/wxml_dom.cpp @@ -1418,7 +1418,7 @@ namespace WXML { } a6 << "var " << a5 << "=_mz(z,'" << this->offset_0 << "',["; v259 = ""; - for (auto jj = v324.begin(); jj < v324.end(); jj++) + for (auto jj = v324.begin(); jj != v324.end(); jj++) { std::string str1c = jj->first; std::string v342; @@ -1428,7 +1428,8 @@ namespace WXML { if (!strncmp(str1c.data(), "generic:", 8u)) { // jj->second. - _v339.emplace_back(jj->first, jj->second); + _v339.emplace_back(jj->first.substr(8), jj->second); + continue; } } else @@ -1461,7 +1462,11 @@ namespace WXML { a6 << "',"; if(i.second.offset_20) { - a6 << i.second.offset_56; + a6 << (i.second.offset_56 - v274); + if (!v274) + { + v274 = i.second.offset_56; + } } else { diff --git a/test/wcc.disassembly.cpp b/test/wcc.disassembly.cpp index a97affa..0775f68 100644 --- a/test/wcc.disassembly.cpp +++ b/test/wcc.disassembly.cpp @@ -25868,7 +25868,7 @@ LABEL_158: std::string::_M_assign((int)v342, (int)jj); if ( !strncmp(Str1c, "generic:", 8u) ) { - Str = Str1c + 8; // std::string็ผ“ๅ†ฒๅŒบ + Str = Str1c + 8; // ๅพ€ๅŽๅ็งป8ไฝ // jj + 6 -> jj.offset_24 -> jj->second WXML::DOMLib::Token::Token((int)&v345, (WXML::DOMLib::Token *)(jj + 6), v244); std::string::basic_string((void **)v347, Str); diff --git a/test/wcc.sh b/test/wcc.sh index d594ed7..bbc832a 100644 --- a/test/wcc.sh +++ b/test/wcc.sh @@ -2,7 +2,7 @@ root_dir=$(cd `dirname $0`/.. && pwd -P) -cd /mnt/d/Work/WeChatProjects/tdesign-miniprogram-starter-retail +cd /mnt/d/Work/WeChatProjects/issue/91/build # list="cmd1 cmd2" # for cmd in $list; @@ -11,9 +11,9 @@ cd /mnt/d/Work/WeChatProjects/tdesign-miniprogram-starter-retail # /root/github/wx-compiler/build/wcc "--config-path" "/mnt/d/Work/disassembly/wcc-exec/wcc/config/$cmd.txt" > /root/github/wx-compiler/test/wcc_linux.json # /mnt/d/Work/disassembly/wcc-exec/wcc/wcc.exe "--config-path" "d:/Work/disassembly/wcc-exec/wcc/config/$cmd.txt" > /root/github/wx-compiler/test/wcc_win.json # done; -filename="WeChatProjects/case4-cmd.txt" +filename="issue/91/cmd/case1-cmd.txt" echo "linux:" -/root/github/wx-compiler/build/wcc "--config-path" "/mnt/d/Work/$filename" > /root/github/wx-compiler/test/wcc_linux.json +/root/github/wx-compiler/build/wcc "--config-path" "/mnt/d/Work/WeChatProjects/$filename" > /root/github/wx-compiler/test/wcc_linux.json echo "windows:" -/mnt/d/Work/disassembly/wcc-exec/wcc/wcc.exe "--config-path" "d:/Work/$filename" > /root/github/wx-compiler/test/wcc_win.json +/mnt/d/Work/disassembly/wcc-exec/wcc/wcc.exe "--config-path" "d:/Work/WeChatProjects/$filename" > /root/github/wx-compiler/test/wcc_win.json