diff options
author | nijtmans <nijtmans> | 2008-11-18 23:49:42 (GMT) |
---|---|---|
committer | nijtmans <nijtmans> | 2008-11-18 23:49:42 (GMT) |
commit | 00d49f9867cee2ccb0107d42c242542bb1724968 (patch) | |
tree | 977344186af30768099bdf29836d163bc796c6e0 /generic | |
parent | d9fafe1f52ff004f0ff69bd9c137f8ac0ffa1a85 (diff) | |
download | tk-00d49f9867cee2ccb0107d42c242542bb1724968.zip tk-00d49f9867cee2ccb0107d42c242542bb1724968.tar.gz tk-00d49f9867cee2ccb0107d42c242542bb1724968.tar.bz2 |
Minor simplification in fix for [Bug 2312027]:
no need to malloc and copy photo type name because
it is a constant to begin with.
Convert Tcl_SetResult(......, TCL_DYNAMIC) to
Tcl_SetResult(......, TCL_VOLATILE), in preparation
for TIP #340
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tkImgPhoto.c | 14 | ||||
-rw-r--r-- | generic/tkOldConfig.c | 8 |
2 files changed, 7 insertions, 15 deletions
diff --git a/generic/tkImgPhoto.c b/generic/tkImgPhoto.c index 44a63fe..1513607 100644 --- a/generic/tkImgPhoto.c +++ b/generic/tkImgPhoto.c @@ -17,7 +17,7 @@ * Department of Computer Science, * Australian National University. * - * RCS: @(#) $Id: tkImgPhoto.c,v 1.87 2008/11/12 01:19:27 nijtmans Exp $ + * RCS: @(#) $Id: tkImgPhoto.c,v 1.88 2008/11/18 23:49:43 nijtmans Exp $ */ #include "tkImgPhoto.h" @@ -229,13 +229,11 @@ PhotoFormatThreadExitProc( while (tsdPtr->oldFormatList != NULL) { freePtr = tsdPtr->oldFormatList; tsdPtr->oldFormatList = tsdPtr->oldFormatList->nextPtr; - ckfree((char *) freePtr->name); ckfree((char *) freePtr); } while (tsdPtr->formatList != NULL) { freePtr = tsdPtr->formatList; tsdPtr->formatList = tsdPtr->formatList->nextPtr; - ckfree((char *) freePtr->name); ckfree((char *) freePtr); } } @@ -264,8 +262,7 @@ Tk_CreateOldPhotoImageFormat( const Tk_PhotoImageFormat *formatPtr) /* Structure describing the format. All of the * fields except "nextPtr" must be filled in - * by caller. Must not have been passed to - * Tk_CreatePhotoImageFormat previously. */ + * by caller. */ { Tk_PhotoImageFormat *copyPtr; ThreadSpecificData *tsdPtr = @@ -277,8 +274,6 @@ Tk_CreateOldPhotoImageFormat( } copyPtr = (Tk_PhotoImageFormat *) ckalloc(sizeof(Tk_PhotoImageFormat)); *copyPtr = *formatPtr; - copyPtr->name = ckalloc((unsigned) (strlen(formatPtr->name) + 1)); - strcpy((char *) copyPtr->name, formatPtr->name); copyPtr->nextPtr = tsdPtr->oldFormatList; tsdPtr->oldFormatList = copyPtr; } @@ -288,8 +283,7 @@ Tk_CreatePhotoImageFormat( const Tk_PhotoImageFormat *formatPtr) /* Structure describing the format. All of the * fields except "nextPtr" must be filled in - * by caller. Must not have been passed to - * Tk_CreatePhotoImageFormat previously. */ + * by caller. */ { Tk_PhotoImageFormat *copyPtr; ThreadSpecificData *tsdPtr = @@ -301,8 +295,6 @@ Tk_CreatePhotoImageFormat( } copyPtr = (Tk_PhotoImageFormat *) ckalloc(sizeof(Tk_PhotoImageFormat)); *copyPtr = *formatPtr; - copyPtr->name = ckalloc((unsigned) (strlen(formatPtr->name) + 1)); - strcpy((char *)copyPtr->name, formatPtr->name); if (isupper((unsigned char) *formatPtr->name)) { copyPtr->nextPtr = tsdPtr->oldFormatList; tsdPtr->oldFormatList = copyPtr; diff --git a/generic/tkOldConfig.c b/generic/tkOldConfig.c index 51c16c6..731944d 100644 --- a/generic/tkOldConfig.c +++ b/generic/tkOldConfig.c @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution of * this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkOldConfig.c,v 1.26 2008/11/08 18:44:40 dkf Exp $ + * RCS: @(#) $Id: tkOldConfig.c,v 1.27 2008/11/18 23:49:43 nijtmans Exp $ */ #include "tkPort.h" @@ -632,9 +632,9 @@ Tk_ConfigureInfo( if (specPtr == NULL) { return TCL_ERROR; } - Tcl_SetResult(interp, - FormatConfigInfo(interp, tkwin, specPtr, widgRec), - TCL_DYNAMIC); + list = FormatConfigInfo(interp, tkwin, specPtr, widgRec); + Tcl_SetResult(interp, list, TCL_VOLATILE); + ckfree(list); return TCL_OK; } |