From cff0c3462c7048710546dac6c5f74a7a71f018cb Mon Sep 17 00:00:00 2001 From: SisMaker <1713699517@qq.com> Date: Sat, 19 Apr 2025 19:34:10 +0800 Subject: [PATCH] =?UTF-8?q?ft:=20=E5=8F=82=E6=95=B0=E9=80=89=E9=A1=B9?= =?UTF-8?q?=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/eMake.erl | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/src/eMake.erl b/src/eMake.erl index 1f76664..2b358fc 100644 --- a/src/eMake.erl +++ b/src/eMake.erl @@ -13,7 +13,7 @@ -define(MakeOpts, [noexec, load, netload, noload]). -define(EMakefile, "./Emakefile"). --define(OnceCnt, 1). +-define(OnceCnt, 16). main(Args) -> MapArgs = parseArgs(Args), @@ -47,12 +47,17 @@ parseArgs([], Ret) -> Ret; parseArgs([Flag | Rest], Ret) -> case Flag of [$-, $n | Left] -> - [Value | LRest] = Rest, - case Value of - [$- | _] -> + case Rest of + [] -> parseArgs(Rest, Ret#{Left => true}); _ -> - parseArgs(LRest, Ret#{LRest => Value}) + [Value | LRest] = Rest, + case Value of + [$- | _] -> + parseArgs(Rest, Ret#{Left => true}); + _ -> + parseArgs(LRest, Ret#{LRest => Value}) + end end; [$-, $s | Left] -> [Value | LRest] = Rest, @@ -70,7 +75,7 @@ parseArgs([Flag | Rest], Ret) -> [Value | LRest] = Rest, parseArgs(LRest, Ret#{Left => list_to_binary(Value)}); _ -> - parseArgs(Rest, Ret) + parseArgs(Rest, Ret#{Flag => true}) end. eMakeFile() ->