| iMatix home page | << | < | > | >> |
SFL Version 2.11 |
#include "sflproc.h" char * process_esc (char *dest, const char *src)
Escapes a directory string so that process create() can handle it correctly. If you pass a command to process_create with a directory name that contains spaces, it will assume that the spaces delimit the command from its arguments. For instance, under Windows 95, the filename "C:\Program Files\Myprog.exe" will be incorrectly treated as a program called "C:\Program" with arguments "Files\Myprog.exe". This function replaces spaces by the escape character (0x1B). You cannot use this value in a filename and expect process create() to work correctly. On an EBCDIC system, the escape character (0x27) is also used. If the dest argument is NULL, allocates a string using mem_alloc() and returns that. Otherwise copies into the dest string and returns that. If the src string is NULL, returns an empty string.
{ #if (defined (__EBCDIC__)) # define ESC_CHAR 0x27 #else # define ESC_CHAR 0x1B #endif /* Copy to dest, allocate if necessary */ if (dest != src) { xstrcpy_debug (); dest = xstrcpy (dest, src, NULL); } strconvch (dest, ' ', ESC_CHAR); return (dest); }
| << | < | > | >> | Copyright © 1996-2000 iMatix Corporation |