summaryrefslogtreecommitdiff
path: root/libgui/src/tkWinPrintText.c
diff options
context:
space:
mode:
Diffstat (limited to 'libgui/src/tkWinPrintText.c')
-rw-r--r--libgui/src/tkWinPrintText.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/libgui/src/tkWinPrintText.c b/libgui/src/tkWinPrintText.c
index a9ffd36bfb9..88ed8b8884d 100644
--- a/libgui/src/tkWinPrintText.c
+++ b/libgui/src/tkWinPrintText.c
@@ -212,7 +212,8 @@ typedef struct TextStyle {
-void DisplayDLineToDrawable(TkText *textPtr, DLine *dlPtr, DLine *prevPtr, TkWinDrawable *drawable);
+static void
+DisplayDLineToDrawable(TkText *textPtr, DLine *dlPtr, DLine *prevPtr, TkWinDrawable *drawable);
/*
*--------------------------------------------------------------
@@ -248,7 +249,7 @@ PrintTextCmd(clientData, interp, argc, argv)
Pixmap pixmap;
int bottomY = 0; /* Initialization needed only to stop
* compiler warnings. */
- DOCINFO *lpdi = malloc(sizeof(DOCINFO));
+ DOCINFO *lpdi = (DOCINFO *) ckalloc(sizeof(DOCINFO));
TkTextIndex first, last;
int numLines;
HDC hDCpixmap;
@@ -272,7 +273,7 @@ PrintTextCmd(clientData, interp, argc, argv)
Tcl_AppendResult(interp, "wrong # args: should be \"",
argv[0], " text \"",
(char *) NULL);
- return TCL_ERROR;
+ goto error;
}
/*
@@ -281,7 +282,7 @@ PrintTextCmd(clientData, interp, argc, argv)
if (!Tcl_GetCommandInfo(interp, argv[1], &textCmd)) {
Tcl_AppendResult(interp, "couldn't get text information for \"",
argv[1], "\"", (char *) NULL);
- return TCL_ERROR;
+ goto error;
}
memset(&dm,0,sizeof(DEVMODE));
@@ -290,7 +291,7 @@ PrintTextCmd(clientData, interp, argc, argv)
memset(lpdi,0,sizeof(DOCINFO));
lpdi->cbSize=sizeof(DOCINFO);
- lpdi->lpszDocName=malloc(255);
+ lpdi->lpszDocName = (LPCSTR) ckalloc(255);
sprintf((char*)lpdi->lpszDocName,"SN - Printing\0");
lpdi->lpszOutput=NULL;
@@ -445,8 +446,12 @@ PrintTextCmd(clientData, interp, argc, argv)
textPtr->dInfoPtr->flags|=DINFO_OUT_OF_DATE;
done:
+ ckfree ((char*) lpdi->lpszDocName);
+ ckfree ((char*) lpdi);
return TCL_OK;
- error:
+error:
+ ckfree ((char*) lpdi->lpszDocName);
+ ckfree ((char*) lpdi);
return TCL_ERROR;
}