backing out tcldot changes as they break webdot
authorellson <devnull@localhost>
Sat, 19 Nov 2005 23:26:27 +0000 (23:26 +0000)
committerellson <devnull@localhost>
Sat, 19 Nov 2005 23:26:27 +0000 (23:26 +0000)
tclpkg/gdtclft/gdtclft.c
tclpkg/tcldot/tcldot.c

index 7486976baf495cae33cf444f8caaac65db17284e..f749ff3a95ebd02bfd44e3fdcabecf9dfb4cc4ac 100644 (file)
@@ -24,6 +24,7 @@
 #include <stdlib.h>
 #include <math.h>
 #include <tcl.h>
+#include <unistd.h>
 #include "gd.h"
 #include "tclhandle.h"
 
@@ -497,11 +498,10 @@ tclGdCreateCmd(Tcl_Interp * interp, GdData * gdData,
     int w, h;
     unsigned long idx;
     gdImagePtr im = NULL;
-    FILE *filePtr = NULL;
+    FILE *filePtr;
     ClientData clientdata;
     char *cmd, buf[50];
-    Tcl_Channel chan;
-    int fileByName, mode;
+    int fileByName;
 
     cmd = Tcl_GetString(objv[1]);
     if (strcmp(cmd, "create") == 0) {
@@ -517,17 +517,14 @@ tclGdCreateCmd(Tcl_Interp * interp, GdData * gdData,
        }
     } else {
        fileByName = 0;         /* first try to get file from open channel */
-       if ((chan = Tcl_GetChannel(interp,Tcl_GetString(objv[2]),&mode)) != NULL) {
-           if (!strncmp(Tcl_ChannelName(Tcl_GetChannelType(chan)),"file",4)) {
-               Tcl_AppendResult(interp, "Bad channel: \"", Tcl_GetString(objv[2]),
-                               "\". Not a file.", (char *)NULL);
-               return TCL_ERROR;
-           }
-           if (Tcl_GetChannelHandle(chan,TCL_READABLE, &clientdata) == TCL_OK) {
-               filePtr = (FILE *) clientdata;
-           }
+       if (Tcl_GetOpenFile
+           (interp, Tcl_GetString(objv[2]), 0, 1,
+            &clientdata) == TCL_OK) {
+           filePtr = (FILE *) clientdata;
        } else {
-           /* Not a channel.  See if we can open directly. */
+           /* Not a channel, or Tcl_GetOpenFile() not supported.
+            *   See if we can open directly.
+            */
            fileByName++;
            if ((filePtr = fopen(Tcl_GetString(objv[2]), "rb")) == NULL) {
                return TCL_ERROR;
@@ -605,8 +602,7 @@ tclGdWriteCmd(Tcl_Interp * interp, GdData * gdData, int argc,
     FILE *filePtr;
     ClientData clientdata;
     char *cmd;
-    Tcl_Channel chan;
-    int fileByName, mode;
+    int fileByName;
 
     cmd = Tcl_GetString(objv[1]);
     /* Get the image pointer. */
@@ -615,22 +611,9 @@ tclGdWriteCmd(Tcl_Interp * interp, GdData * gdData, int argc,
 
     /* Get the file reference. */
     fileByName = 0;            /* first try to get file from open channel */
-    if ((chan = Tcl_GetChannel(interp,Tcl_GetString(objv[2]),&mode)) != NULL) {
-       if (!strncmp(Tcl_ChannelName(Tcl_GetChannelType(chan)),"file",4)) {
-           Tcl_AppendResult(interp, "Bad channel: \"", Tcl_GetString(objv[2]),
-                               "\". Not a file.", (char *)NULL);
-           return TCL_ERROR;
-       }
-       if (!(mode & TCL_WRITABLE)) {
-           Tcl_AppendResult(interp, "Bad channel: \"", Tcl_GetString(objv[2]),
-                               "\". Not writeable.", (char *)NULL);
-           return TCL_ERROR;
-       }
-       if (Tcl_GetChannelHandle(chan,TCL_WRITABLE, &clientdata) == TCL_OK) {
-           filePtr = (FILE *) clientdata;
-       } else {
-           return TCL_ERROR;
-       }
+    if (Tcl_GetOpenFile(interp, Tcl_GetString(objv[3]), 1, 1, &clientdata)
+       == TCL_OK) {
+       filePtr = (FILE *) clientdata;
     } else {
        /* Not a channel, or Tcl_GetOpenFile() not supported.
         *   See if we can open directly.
@@ -1368,10 +1351,7 @@ tclGdTextCmd(Tcl_Interp * interp, GdData * gdData,
 int Gdtclft_Init(Tcl_Interp * interp)
 #else
 #ifdef __WIN32__
-__declspec(dllexport) int Gdtclft_Init(Tcl_Interp *interp)
-/*
-EXPORT(Gdtclft_Init) (interp)
-*/
+EXPORT(int, Gdtclft_Init) (interp)
 #else
 int Gdtclft_Init(Tcl_Interp * interp)
 #endif
@@ -1409,10 +1389,7 @@ int Gdtclft_Init(Tcl_Interp * interp)
 int Gdtclft_SafeInit(Tcl_Interp * interp)
 #else
 #ifdef __WIN32__
-__declspec(dllexport) int Gdtclft_Init(Tcl_Interp *interp)
-/*
 EXPORT(int, Gdtclft_SafeInit) (interp)
-*/
 #else
 int Gdtclft_SafeInit(Tcl_Interp * interp)
 #endif
index eb05b93315eda2e1baffd0b218513394392f4bd0..ca428f264de14cc9ff16e0646656a859d990465f 100644 (file)
@@ -614,8 +614,7 @@ static int graphcmd(ClientData clientData, Tcl_Interp * interp,
     Agedge_t **ep, *e;
     Agsym_t *a;
     char c, buf[256], **argv2;
-    int i, j, length, argc2, rc, chanmode;
-    Tcl_Channel chan;
+    int i, j, length, argc2, rc;
     unsigned long id;
     GVC_t *gvc = (GVC_t *) clientData;
 
@@ -1261,33 +1260,9 @@ static int graphcmd(ClientData clientData, Tcl_Interp * interp,
        gvc->job->output_lang =
             gvrender_select(gvc->job, gvc->job->output_langname);
 
-       /* NEW CODE: Use new Tcl_Channel based API */
-       chanmode = 0;
-       chan = Tcl_GetChannel(interp,argv[2],&chanmode);
-       if (chan == NULL) {
-           Tcl_AppendResult(interp, "Bad channel: \"", argv[2],
-                               "\"", (char *)NULL);
-           return TCL_ERROR;
-       }
-       if (!(chanmode & TCL_WRITABLE)) {
-           Tcl_AppendResult(interp, "Bad channel: \"", argv[2],
-                               "\". Not writeable.", (char *)NULL);
-           return TCL_ERROR;
-       }
-       if (!strncmp(Tcl_ChannelName(Tcl_GetChannelType(chan)),"file",4)) {
-           Tcl_AppendResult(interp, "Bad channel: \"", argv[2],
-                               "\". Not a file.", (char *)NULL);
-           return TCL_ERROR;
-       }
-       if (Tcl_GetChannelHandle(chan,TCL_WRITABLE,
-                       (ClientData*) &(gvc->job->output_file)) != TCL_OK)
-           return TCL_ERROR;
-
-       /* OLD UNIX only code
        if (Tcl_GetOpenFile (interp, argv[2], 1, 1,
             (ClientData *) &(gvc->job->output_file)) != TCL_OK)
            return TCL_ERROR;
-       */
 
        /* make sure that layout is done  - unless canonical output */
        if ((!GD_drawing(g) || argc > 4)
@@ -1647,11 +1622,7 @@ static int dotstring(ClientData clientData, Tcl_Interp * interp,
 #if defined(_BLD_tcldot) && defined(_DLL)
 __EXPORT__
 #endif
-#ifdef __WIN32__
-__declspec(dllexport) int Tcldot_Init(Tcl_Interp * interp)
-#else
 int Tcldot_Init(Tcl_Interp * interp)
-#endif
 {
     GVC_t *gvc;
 #ifndef DISABLE_CODEGENS
@@ -1712,11 +1683,7 @@ int Tcldot_Init(Tcl_Interp * interp)
     return TCL_OK;
 }
 
-#ifdef __WIN32__
-__declspec(dllexport) int Tcldot_SafeInit(Tcl_Interp * interp)
-#else
 int Tcldot_SafeInit(Tcl_Interp * interp)
-#endif
 {
     return Tcldot_Init(interp);
 }