From a39849b2c9d6b91cfbef1dd3bcecb23e459b4cc5 Mon Sep 17 00:00:00 2001 From: "False.Genesis" Date: Sat, 26 May 2007 23:45:07 +0000 Subject: [PATCH] * little scripts update --- bin/scripts/outv.def | 13 ++++++++++--- bin/scripts/sayv.def | 12 +++++++++--- src/Client/DefScript/DefScript.cpp | 7 +++++-- 3 files changed, 24 insertions(+), 8 deletions(-) diff --git a/bin/scripts/outv.def b/bin/scripts/outv.def index 58aa1d8..08a494d 100644 --- a/bin/scripts/outv.def +++ b/bin/scripts/outv.def @@ -1,7 +1,14 @@ #permission=0 SET,vn #${@caller}::${@def} -SET,vv,onfail,{} ${${vn}} -LOG * Var '${@def}' = '${vv}' + +IF ?{NOT ?{ISSET ${vn}}} + OUT * Var '${@def}' not defined. + RETURN +ENDIF + +SET,vv ${${vn}} +OUT * Var '${@def}' = '${vv}' + UNSET vv -UNSET vn \ No newline at end of file +UNSET vn diff --git a/bin/scripts/sayv.def b/bin/scripts/sayv.def index 5b331ae..a1c7ab6 100644 --- a/bin/scripts/sayv.def +++ b/bin/scripts/sayv.def @@ -1,10 +1,16 @@ #permission=0 -SET,vn ${@def} +SET,vn #${@caller}::${@def} SET,vl ${@0} DEFAULT,vl 0 -SET,vv,onfail,{} ${#${@caller}::${@def}} -SAY,{${vl}} * Var '${vn}' = '${vv}' + +IF ?{NOT ?{ISSET ${vn}}} + SAY,{${vl}} * Var '${@def}' not defined. + RETURN +ENDIF + +SET,vv ${${vn}} +SAY,{${vl}} * Var '${@def}' = '${vv}' UNSET vv UNSET vn diff --git a/src/Client/DefScript/DefScript.cpp b/src/Client/DefScript/DefScript.cpp index d1bc185..4916b69 100644 --- a/src/Client/DefScript/DefScript.cpp +++ b/src/Client/DefScript/DefScript.cpp @@ -878,12 +878,15 @@ DefXChgResult DefScriptPackage::ReplaceVars(std::string str, CmdSet *pSet, unsig } std::string DefScriptPackage::_NormalizeVarName(std::string vn_in, std::string sn){ + if(vn_in.empty()) + return vn_in; std::string vn=vn_in; bool global=false; + if(sn.empty()) + global = true; while(true) { - if(sn.empty()) - return vn; + if(vn.at(0)=='#') global = true; if(vn.at(0)=='#' || vn.at(0)==':')