From a859402af1acd94644d63a79eb8e96ada55060d4 Mon Sep 17 00:00:00 2001 From: stanton Date: Fri, 7 May 1999 20:07:35 +0000 Subject: * 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] --- generic/tclResult.c | 4 ++-- 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 *); -- cgit v0.12