summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xconfigure1
-rwxr-xr-xconfigure.in1
-rw-r--r--src/bltVecOp.C56
-rw-r--r--src/bltVector.C27
4 files changed, 61 insertions, 24 deletions
diff --git a/configure b/configure
index f9c3c56..f1e928f 100755
--- a/configure
+++ b/configure
@@ -5570,6 +5570,7 @@ done
bltOp.C
bltSwitch.C
bltVecCmd.C
+ bltVecOp.C
bltVecMath.C
bltVector.C
"
diff --git a/configure.in b/configure.in
index bafadd5..a7450ba 100755
--- a/configure.in
+++ b/configure.in
@@ -115,6 +115,7 @@ TEA_ADD_SOURCES([
bltOp.C
bltSwitch.C
bltVecCmd.C
+ bltVecOp.C
bltVecMath.C
bltVector.C
])
diff --git a/src/bltVecOp.C b/src/bltVecOp.C
new file mode 100644
index 0000000..a382cee
--- /dev/null
+++ b/src/bltVecOp.C
@@ -0,0 +1,56 @@
+/*
+ * Smithsonian Astrophysical Observatory, Cambridge, MA, USA
+ * This code has been modified under the terms listed below and is made
+ * available under the same terms.
+ */
+
+/*
+ * Copyright 1991-2004 George A Howlett.
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+#include <tcl.h>
+
+#include "bltVecInt.h"
+
+using namespace Blt;
+
+extern Tcl_ObjCmdProc VectorObjCmd;
+
+int Blt_VectorCmdInitProc(Tcl_Interp* interp)
+{
+
+ Tcl_Namespace* nsPtr = Tcl_FindNamespace(interp, "::blt", NULL,
+ TCL_LEAVE_ERR_MSG);
+ if (nsPtr == NULL)
+ return TCL_ERROR;
+
+ const char* cmdPath = "::blt::vector";
+ Tcl_Command cmdToken = Tcl_FindCommand(interp, cmdPath, NULL, 0);
+ if (cmdToken)
+ return TCL_OK;
+ cmdToken = Tcl_CreateObjCommand(interp, cmdPath, VectorObjCmd,
+ Vec_GetInterpData(interp), NULL);
+ if (Tcl_Export(interp, nsPtr, "vector", 0) != TCL_OK)
+ return TCL_ERROR;
+
+ return TCL_OK;
+}
diff --git a/src/bltVector.C b/src/bltVector.C
index 955b854..83e9c0f 100644
--- a/src/bltVector.C
+++ b/src/bltVector.C
@@ -90,7 +90,7 @@ typedef struct {
} VectorClient;
static Tcl_CmdDeleteProc VectorInstDeleteProc;
-static Tcl_ObjCmdProc VectorCmd;
+extern Tcl_ObjCmdProc VectorCmd;
static Tcl_InterpDeleteProc VectorInterpDeleteProc;
typedef struct {
@@ -1166,8 +1166,8 @@ static Blt_OpSpec vectorCmdOps[] =
static int nCmdOps = sizeof(vectorCmdOps) / sizeof(Blt_OpSpec);
-static int VectorCmd(ClientData clientData, Tcl_Interp* interp,
- int objc, Tcl_Obj* const objv[])
+int VectorObjCmd(ClientData clientData, Tcl_Interp* interp,
+ int objc, Tcl_Obj* const objv[])
{
VectorCmdProc *proc;
@@ -1245,27 +1245,6 @@ VectorInterpData* Blt::Vec_GetInterpData(Tcl_Interp* interp)
return dataPtr;
}
-int Blt_VectorCmdInitProc(Tcl_Interp* interp)
-{
- Tcl_Namespace* nsPtr;
- Tcl_Command cmdToken;
- const char* cmdPath = "::blt::vector";
-
- nsPtr = Tcl_FindNamespace(interp, "::blt", NULL, TCL_LEAVE_ERR_MSG);
- if (nsPtr == NULL)
- return TCL_ERROR;
-
- cmdToken = Tcl_FindCommand(interp, cmdPath, NULL, 0);
- if (cmdToken)
- return TCL_OK;
- cmdToken = Tcl_CreateObjCommand(interp, cmdPath, VectorCmd,
- Vec_GetInterpData(interp), NULL);
- if (Tcl_Export(interp, nsPtr, "vector", 0) != TCL_OK)
- return TCL_ERROR;
-
- return TCL_OK;
-}
-
/* C Application interface to vectors */
int Blt_CreateVector2(Tcl_Interp* interp, const char *vecName,