Gerhard Fiedler wrote: > Thanks for clearing this up. I think that in Windows, there is no > substitution in the arguments either when using CreateProcess(). It > may prepend a path to the executable name, though. > > It may be here where there is a chance of not handling quoting of > paths correctly when porting an application to Windows. No, since the application doesn't call CreateProcess on Windows or some form of exec on Unix. The application receives what the system delivers on the other end. Neither OS does any interpretation or substitution on the arguments passed to the CreateProcess/exec call. This is a service the shell provides for processes originating from a text command line. The fundamental difference is that on Unix a process is passed a array of string "arguments". On Windows a process is passed a single string. To make it appear like you are passing a list of command line parameters on a OS that uses the single string model, both the program that launches the process and the launched program have to agree on a syntax to pass multiple tokens in a single string. The standard Windows command line shell (CMD.EXE) does some parameter substitutions but otherwise passes the command line to the process as is. It is the process' job to interpret that as tokens if that is the model it wants to present to the user. ******************************************************************** Embed Inc, Littleton Massachusetts, http://www.embedinc.com/products (978) 742-9014. Gold level PIC consultants since 2000. -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist