diff --git a/libuuu/cmd.cpp b/libuuu/cmd.cpp
index c2eeb4e7..ace3f1d6 100644
--- a/libuuu/cmd.cpp
+++ b/libuuu/cmd.cpp
@@ -166,6 +166,9 @@ int CmdList::run_all(CmdCtx *p, bool dry_run)
call_notify(nt);
if (ret)
return ret;
+
+ if ((*it)->m_lastcmd)
+ break;
}
}
return ret;
diff --git a/libuuu/cmd.h b/libuuu/cmd.h
index 6a4796d4..ae4a5188 100644
--- a/libuuu/cmd.h
+++ b/libuuu/cmd.h
@@ -90,8 +90,9 @@ class CmdBase
public:
vector m_param;
uint64_t m_timeout;
+ bool m_lastcmd;
std::string m_cmd;
- CmdBase() { m_timeout = 2000; };
+ CmdBase() { m_timeout = 2000; m_lastcmd = false; };
CmdBase(char *p) { m_timeout = 2000; if (p) m_cmd = p; }
void insert_param_info(const char *key, void *pD, Param::Param_Type tp, bool ignore_case = true)
{
@@ -148,7 +149,7 @@ class CmdObjCreateMap:public map
class CmdDone :public CmdBase
{
public:
- CmdDone(char *p) :CmdBase(p) {};
+ CmdDone(char *p) :CmdBase(p) { m_lastcmd = true; };
int run(CmdCtx *p);
};