diff options
author | stanton <stanton> | 1999-05-07 20:07:35 (GMT) |
---|---|---|
committer | stanton <stanton> | 1999-05-07 20:07:35 (GMT) |
commit | a859402af1acd94644d63a79eb8e96ada55060d4 (patch) | |
tree | f046004c395fea832db79ce3ba703b4c59e8f154 | |
parent | 3d35353fe96d8703f973e4410629c560ff3b1611 (diff) | |
download | tcl-a859402af1acd94644d63a79eb8e96ada55060d4.zip tcl-a859402af1acd94644d63a79eb8e96ada55060d4.tar.gz tcl-a859402af1acd94644d63a79eb8e96ada55060d4.tar.bz2 |
* generic/tclResult.c (Tcl_AppendResultVA):
* generic/tclStringObj.c (Tcl_AppendStringsToObjVA): Fixed to copy
arglist using memcpy instead of assignment so it works properly on
OS/390. [Bug: 1997]
-rw-r--r-- | generic/tclResult.c | 4 | ||||
-rw-r--r-- | generic/tclStringObj.c | 7 |
2 files changed, 6 insertions, 5 deletions
diff --git a/generic/tclResult.c b/generic/tclResult.c index 002437d..2f18b51 100644 --- a/generic/tclResult.c +++ b/generic/tclResult.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclResult.c,v 1.2 1999/04/16 00:46:53 stanton Exp $ + * RCS: @(#) $Id: tclResult.c,v 1.3 1999/05/07 20:07:35 stanton Exp $ */ #include "tclInt.h" @@ -475,7 +475,7 @@ Tcl_AppendResultVA (interp, argList) * Scan through all the arguments to see how much space is needed. */ - tmpArgList = argList; + memcpy ((VOID *) &tmpArgList, (VOID *) &argList, sizeof (tmpArgList)); newSpace = 0; while (1) { string = va_arg(tmpArgList, char *); diff --git a/generic/tclStringObj.c b/generic/tclStringObj.c index e7d3ae7..ea0cbd7 100644 --- a/generic/tclStringObj.c +++ b/generic/tclStringObj.c @@ -14,7 +14,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tclStringObj.c,v 1.5 1999/04/28 17:06:06 stanton Exp $ + * RCS: @(#) $Id: tclStringObj.c,v 1.6 1999/05/07 20:07:35 stanton Exp $ */ #include "tclInt.h" @@ -426,10 +426,11 @@ Tcl_AppendStringsToObjVA (objPtr, argList) /* * Figure out how much space is needed for all the strings, and * expand the string representation if it isn't big enough. If no - * bytes would be appended, just return. + * bytes would be appended, just return. Note that on some platforms + * (notably OS/390) the argList is an array so we need to use memcpy. */ - tmpArgList = argList; + memcpy ((VOID *) &tmpArgList, (VOID *) &argList, sizeof (tmpArgList)); newLength = oldLength = objPtr->length; while (1) { string = va_arg(tmpArgList, char *); |