Dev
Dev

Reputation: 1

Nsis. multiple conditions in doWhile loop

I'm trying to find out if several processes exist.

C++:

while (cond1 || cond2) {
   ...
}

How can I implement it using NSIS? I need something like this:

${DoWhile} cond1 or cond2
   ... 
${Loop}

or even this

${DoWhile} true
${If} cond1
${OrIf} cond2
   ... 
${EndIf}
${Loop}

Upvotes: 0

Views: 907

Answers (1)

Anders
Anders

Reputation: 101666

You can use a Do+Loop without a condition:

!include LogicLib.nsh

${Do}
    ${If} $1 <> 0
    ${OrIf} $2 <> 0
        # ...
    ${Else}
        ${Break}
    ${EndIf}
${Loop}

Using a label works as well:

loop:
${If} $1 <> 0
${OrIf} $2 <> 0
    # ...
    Goto loop
${EndIf}

Upvotes: 1

Related Questions