Previous | Contents | Next

## C.3 Get command line parameters

     ; GetParameters

     ; input, none

     ; output, top of stack (replaces, with e.g. whatever)

     ; modifies no other variables.

     Function GetParameters

       Push $R0

       Push $R1

       Push $R2

       Push $R3

       StrCpy $R2 1

       StrLen $R3 $CMDLINE

       ;Check for quote or space

       StrCpy $R0 $CMDLINE $R2

       StrCmp $R0 '"' 0 +3

         StrCpy $R1 '"'

         Goto loop

       StrCpy $R1 " "

       loop:

         IntOp $R2 $R2 + 1

         StrCpy $R0 $CMDLINE 1 $R2

         StrCmp $R0 $R1 get

         StrCmp $R2 $R3 get

         Goto loop

       get:

         IntOp $R2 $R2 + 1

         StrCpy $R0 $CMDLINE 1 $R2

         StrCmp $R0 " " get

         StrCpy $R0 $CMDLINE "" $R2

       Pop $R3

       Pop $R2

       Pop $R1

       Exch $R0

     FunctionEnd

Previous | Contents | Next