diff options
author | mescalinum <mescalinum@users.sourceforge.net> | 2011-10-02 16:34:46 +0000 |
---|---|---|
committer | mescalinum <mescalinum@users.sourceforge.net> | 2011-10-02 16:34:46 +0000 |
commit | 5a38f01421e93db2cf5b5c05afe84fb73eb89425 (patch) | |
tree | 825f100374b98c48c0823e6478c0f456a792e715 /tcl_loader.cxx | |
parent | 6b6325b951082d49c6c355d59f808783e99738c2 (diff) |
mv *.cxx *.c
svn path=/trunk/externals/loaders/tclpd/; revision=15442
Diffstat (limited to 'tcl_loader.cxx')
-rw-r--r-- | tcl_loader.cxx | 64 |
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; -} - |