diff options
| author | dgp <dgp@users.sourceforge.net> | 2007-04-02 18:48:01 (GMT) | 
|---|---|---|
| committer | dgp <dgp@users.sourceforge.net> | 2007-04-02 18:48:01 (GMT) | 
| commit | fa49c9af9b48554cf441f2554c9cd58d3ca1f267 (patch) | |
| tree | 533f6091f7eb9bb16881b234e206e374e57eb34f /unix/tclUnixPipe.c | |
| parent | 662bbb37a4d2552ae0f59545f527731d80a47d3c (diff) | |
| download | tcl-fa49c9af9b48554cf441f2554c9cd58d3ca1f267.zip tcl-fa49c9af9b48554cf441f2554c9cd58d3ca1f267.tar.gz tcl-fa49c9af9b48554cf441f2554c9cd58d3ca1f267.tar.bz2 | |
        * generic/tclBasic.c:   Replace arrays on the C stack and ckalloc
        * generic/tclExecute.c: calls with TclStackAlloc calls to use memory
        * generic/tclFCmd.c:    on Tcl's evaluation stack.
        * generic/tclFileName.c:
        * generic/tclIOCmd.c:
        * generic/tclIndexObj.c:
        * generic/tclInterp.c:
        * generic/tclNamesp.c:
        * generic/tclTrace.c:
        * unix/tclUnixPipe.c:
Diffstat (limited to 'unix/tclUnixPipe.c')
| -rw-r--r-- | unix/tclUnixPipe.c | 11 | 
1 files changed, 6 insertions, 5 deletions
| diff --git a/unix/tclUnixPipe.c b/unix/tclUnixPipe.c index 3cc4759..a6ec0e4 100644 --- a/unix/tclUnixPipe.c +++ b/unix/tclUnixPipe.c @@ -10,7 +10,7 @@   * See the file "license.terms" for information on usage and redistribution of   * this file, and for a DISCLAIMER OF ALL WARRANTIES.   * - * RCS: @(#) $Id: tclUnixPipe.c,v 1.37 2007/02/20 23:24:07 nijtmans Exp $ + * RCS: @(#) $Id: tclUnixPipe.c,v 1.38 2007/04/02 18:48:04 dgp Exp $   */  #include "tclInt.h" @@ -421,8 +421,9 @@ TclpCreateProcess(       * deallocated later       */ -    dsArray = (Tcl_DString *) ckalloc(argc * sizeof(Tcl_DString)); -    newArgv = (char **) ckalloc((argc+1) * sizeof(char *)); +    dsArray = (Tcl_DString *) +	    TclStackAlloc(interp, argc * sizeof(Tcl_DString)); +    newArgv = (char **) TclStackAlloc(interp, (argc+1) * sizeof(char *));      newArgv[argc] = NULL;      for (i = 0; i < argc; i++) {  	newArgv[i] = Tcl_UtfToExternalDString(NULL, argv[i], -1, &dsArray[i]); @@ -484,8 +485,8 @@ TclpCreateProcess(      for (i = 0; i < argc; i++) {  	Tcl_DStringFree(&dsArray[i]);      } -    ckfree((char *) dsArray); -    ckfree((char *) newArgv); +    TclStackFree(interp);	/* newArgv */ +    TclStackFree(interp); 	/* dsArray */      if (pid == -1) {  	Tcl_AppendResult(interp, "couldn't fork child process: ", | 
