aboutsummaryrefslogtreecommitdiff
path: root/tcl_loader.cxx
diff options
context:
space:
mode:
authormescalinum <mescalinum@users.sourceforge.net>2011-10-02 16:34:46 +0000
committermescalinum <mescalinum@users.sourceforge.net>2011-10-02 16:34:46 +0000
commit5a38f01421e93db2cf5b5c05afe84fb73eb89425 (patch)
tree825f100374b98c48c0823e6478c0f456a792e715 /tcl_loader.cxx
parent6b6325b951082d49c6c355d59f808783e99738c2 (diff)
mv *.cxx *.c
svn path=/trunk/externals/loaders/tclpd/; revision=15442
Diffstat (limited to 'tcl_loader.cxx')
-rw-r--r--tcl_loader.cxx64
1 files changed, 0 insertions, 64 deletions
diff --git a/tcl_loader.cxx b/tcl_loader.cxx
deleted file mode 100644
index 2dad0d1..0000000
--- a/tcl_loader.cxx
+++ /dev/null
@@ -1,64 +0,0 @@
-#include "tcl_extras.h"
-#include <string.h>
-#include <unistd.h>
-
-extern "C" int tclpd_do_load_lib(t_canvas *canvas, char *objectname) {
-#ifdef DEBUG
- post("Tcl loader: registering tcl class loader mechanism");
-#endif
- char filename[MAXPDSTRING], dirbuf[MAXPDSTRING],
- *classname, *nameptr;
- int fd;
-
- if ((classname = strrchr(objectname, '/')) != NULL)
- classname++;
- else
- classname = objectname;
-
- if(sys_onloadlist(objectname)) {
- post("%s: already loaded", objectname);
- return (1);
- }
-
- /* try looking in the path for (objectname).(tcl) ... */
- if ((fd = canvas_open(canvas, objectname, ".tcl",
- dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0)
- goto gotone;
-
- /* next try (objectname)/(classname).(tcl) ... */
- strncpy(filename, objectname, MAXPDSTRING);
- filename[MAXPDSTRING-2] = 0;
- strcat(filename, "/");
- strncat(filename, classname, MAXPDSTRING-strlen(filename));
- filename[MAXPDSTRING-1] = 0;
- if ((fd = canvas_open(canvas, filename, ".tcl",
- dirbuf, &nameptr, MAXPDSTRING, 1)) >= 0)
- goto gotone;
-
- return 0;
-
-gotone:
- close(fd);
- class_set_extern_dir(gensym(dirbuf));
- /* rebuild the absolute pathname */
- strncpy(filename, dirbuf, MAXPDSTRING);
- filename[MAXPDSTRING-2] = 0;
- strcat(filename, "/");
- strncat(filename, nameptr, MAXPDSTRING-strlen(filename));
- filename[MAXPDSTRING-1] = 0;
-
- // load tcl external:
- int result = Tcl_EvalFile(tcl_for_pd, filename);
- if(result == TCL_OK) {
- post("Tcl loader: loaded %s", filename);
- } else {
- post("Tcl loader: error trying to load %s", filename);
- tclpd_interp_error(result);
- return 0;
- }
-
- class_set_extern_dir(&s_);
- sys_putonloadlist(objectname);
- return 1;
-}
-