Passing Parameters

Richard Gaskin ambassador at
Mon Nov 7 10:52:02 EST 2011

Phil Davis wrote:

> On Mac OS X, you can do it from the command line.
> 1) create a standalone app (named "Untitled1" in this example) that has this
> stack script:
>     on startup
>          dispatch $1 to me
>          quit
>     end startup

As an example of how to use environment variables that's an excellent 
one, but for production work it may pay to be a little paranoid, taking 
the view that an API like a command line is a potential point of 
security exposure.

Rather than execute anything that comes in on the command line, we could 
instead parse it to ensure it meets a list of acceptable commands:

on startup
   switch word 1 of $1
   case "ExampleCommand1"
   case "ExampleCommand2"
   case "ExampleCommand3"
      dispatch $1 to me
      put "Invalid command: "& word 1 of $1
   end switch
end startup

For the relatively low cost of double-checking the command in the string 
$1 we can limit the range of things that the app can be used for.

It's a little more work, but prevents using the full range of LiveCode 
to manipulate the app in unintended ways.

  Richard Gaskin
  Fourth World
  LiveCode training and consulting:
  Webzine for LiveCode developers:
  LiveCode Journal blog:

More information about the Use-livecode mailing list