summaryrefslogtreecommitdiffstats
path: root/generic/tkImage.c
diff options
context:
space:
mode:
Diffstat (limited to 'generic/tkImage.c')
-rw-r--r--generic/tkImage.c24
1 files changed, 16 insertions, 8 deletions
diff --git a/generic/tkImage.c b/generic/tkImage.c
index 251fe30..47a8c1b 100644
--- a/generic/tkImage.c
+++ b/generic/tkImage.c
@@ -6,12 +6,12 @@
* widgets.
*
* Copyright (c) 1994 The Regents of the University of California.
- * Copyright (c) 1994-1996 Sun Microsystems, Inc.
+ * Copyright (c) 1994-1997 Sun Microsystems, Inc.
*
* See the file "license.terms" for information on usage and redistribution
* of this file, and for a DISCLAIMER OF ALL WARRANTIES.
*
- * SCCS: @(#) tkImage.c 1.15 97/10/09 09:57:50
+ * SCCS: @(#) tkImage.c 1.16 97/11/07 21:17:09
*/
#include "tkInt.h"
@@ -146,7 +146,7 @@ Tk_ImageCmd(clientData, interp, argc, argv)
Image *imagePtr;
Tcl_HashEntry *hPtr;
Tcl_HashSearch search;
- char idString[30], *name;
+ char idString[16 + TCL_INTEGER_SPACE], *name;
static int id = 0;
if (argc < 2) {
@@ -248,7 +248,9 @@ Tk_ImageCmd(clientData, interp, argc, argv)
imagePtr->instanceData = (*typePtr->getProc)(
imagePtr->tkwin, masterPtr->masterData);
}
- interp->result = Tcl_GetHashKey(&winPtr->mainPtr->imageTable, hPtr);
+ Tcl_SetResult(interp,
+ Tcl_GetHashKey(&winPtr->mainPtr->imageTable, hPtr),
+ TCL_STATIC);
} else if ((c == 'd') && (strncmp(argv[1], "delete", length) == 0)) {
for (i = 2; i < argc; i++) {
hPtr = Tcl_FindHashEntry(&winPtr->mainPtr->imageTable, argv[i]);
@@ -261,6 +263,8 @@ Tk_ImageCmd(clientData, interp, argc, argv)
DeleteImage(masterPtr);
}
} else if ((c == 'h') && (strncmp(argv[1], "height", length) == 0)) {
+ char buf[TCL_INTEGER_SPACE];
+
if (argc != 3) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
" height name\"", (char *) NULL);
@@ -273,7 +277,8 @@ Tk_ImageCmd(clientData, interp, argc, argv)
return TCL_ERROR;
}
masterPtr = (ImageMaster *) Tcl_GetHashValue(hPtr);
- sprintf(interp->result, "%d", masterPtr->height);
+ sprintf(buf, "%d", masterPtr->height);
+ Tcl_SetResult(interp, buf, TCL_VOLATILE);
} else if ((c == 'n') && (strncmp(argv[1], "names", length) == 0)) {
if (argc != 2) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
@@ -299,7 +304,7 @@ Tk_ImageCmd(clientData, interp, argc, argv)
}
masterPtr = (ImageMaster *) Tcl_GetHashValue(hPtr);
if (masterPtr->typePtr != NULL) {
- interp->result = masterPtr->typePtr->name;
+ Tcl_SetResult(interp, masterPtr->typePtr->name, TCL_STATIC);
}
} else if ((c == 't') && (strcmp(argv[1], "types") == 0)) {
if (argc != 2) {
@@ -312,6 +317,8 @@ Tk_ImageCmd(clientData, interp, argc, argv)
Tcl_AppendElement(interp, typePtr->name);
}
} else if ((c == 'w') && (strncmp(argv[1], "width", length) == 0)) {
+ char buf[TCL_INTEGER_SPACE];
+
if (argc != 3) {
Tcl_AppendResult(interp, "wrong # args: should be \"", argv[0],
" width name\"", (char *) NULL);
@@ -324,7 +331,8 @@ Tk_ImageCmd(clientData, interp, argc, argv)
return TCL_ERROR;
}
masterPtr = (ImageMaster *) Tcl_GetHashValue(hPtr);
- sprintf(interp->result, "%d", masterPtr->width);
+ sprintf(buf, "%d", masterPtr->width);
+ Tcl_SetResult(interp, buf, TCL_VOLATILE);
} else {
Tcl_AppendResult(interp, "bad option \"", argv[1],
"\": must be create, delete, height, names, type, types,",
@@ -416,7 +424,7 @@ Tk_NameOfImage(imageMaster)
* Results:
* The return value is a token for the image. If there is no image
* by the given name, then NULL is returned and an error message is
- * left in interp->result.
+ * left in the interp's result.
*
* Side effects:
* Tk records the fact that the widget is using the image, and