summaryrefslogtreecommitdiff
path: root/apps/plugins/pdbox/PDa/src/s_loader.c
diff options
context:
space:
mode:
authorPeter D'Hoye <peter.dhoye@gmail.com>2009-05-24 21:28:16 +0000
committerPeter D'Hoye <peter.dhoye@gmail.com>2009-05-24 21:28:16 +0000
commit526b5580dabbfed7cfe5439dc3a90ec727f563c2 (patch)
tree22b1af92348785daad16714ee5e2b633017e0e48 /apps/plugins/pdbox/PDa/src/s_loader.c
parent4f2dfcc01b260d946044ef2b6af5fe36cb772c8d (diff)
downloadrockbox-526b5580dabbfed7cfe5439dc3a90ec727f563c2.zip
rockbox-526b5580dabbfed7cfe5439dc3a90ec727f563c2.tar.gz
rockbox-526b5580dabbfed7cfe5439dc3a90ec727f563c2.tar.bz2
rockbox-526b5580dabbfed7cfe5439dc3a90ec727f563c2.tar.xz
Cut the files in half and it might work better (note to self: check your tree is really clean before patching)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21070 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/pdbox/PDa/src/s_loader.c')
-rw-r--r--apps/plugins/pdbox/PDa/src/s_loader.c175
1 files changed, 0 insertions, 175 deletions
diff --git a/apps/plugins/pdbox/PDa/src/s_loader.c b/apps/plugins/pdbox/PDa/src/s_loader.c
index 78be948..c5a8677 100644
--- a/apps/plugins/pdbox/PDa/src/s_loader.c
+++ b/apps/plugins/pdbox/PDa/src/s_loader.c
@@ -161,178 +161,3 @@ int sys_load_lib(char *dirname, char *classname)
#endif
-
-
-
-
-
-
-/* Copyright (c) 1997-1999 Miller Puckette.
-* For information on usage and redistribution, and for a DISCLAIMER OF ALL
-* WARRANTIES, see the file, "LICENSE.txt," in this distribution. */
-
-#ifdef DL_OPEN
-#include <dlfcn.h>
-#endif
-#ifdef UNIX
-#include <stdlib.h>
-#include <unistd.h>
-#endif
-#ifdef MSW
-#include <io.h>
-#include <windows.h>
-#endif
-#ifdef MACOSX
-#include <mach-o/dyld.h>
-#endif
-#include <string.h>
-#include "m_pd.h"
-#include "s_stuff.h"
-#include <stdio.h>
-
-typedef void (*t_xxx)(void);
-
-static char sys_dllextent[] =
-#ifdef __FreeBSD__
- ".pd_freebsd";
-#endif
-#ifdef IRIX
-#ifdef N32
- ".pd_irix6";
-#else
- ".pd_irix5";
-#endif
-#endif
-#ifdef __linux__
- ".pd_linux";
-#endif
-#ifdef MACOSX
- ".pd_darwin";
-#endif
-#ifdef MSW
- ".dll";
-#endif
-
-void class_set_extern_dir(t_symbol *s);
-
-#ifdef STATIC
-int sys_load_lib(char *dirname, char *classname)
-{ return 1;}
-#else
-int sys_load_lib(char *dirname, char *classname)
-{
- char symname[MAXPDSTRING], filename[MAXPDSTRING], dirbuf[MAXPDSTRING],
- classname2[MAXPDSTRING], *nameptr, *lastdot;
- void *dlobj;
- t_xxx makeout = NULL;
- int fd;
-#ifdef MSW
- HINSTANCE ntdll;
-#endif
-#if 0
- fprintf(stderr, "lib %s %s\n", dirname, classname);
-#endif
- /* try looking in the path for (classname).(sys_dllextent) ... */
- if ((fd = open_via_path(dirname, classname, sys_dllextent,
- dirbuf, &nameptr, MAXPDSTRING, 1)) < 0)
- {
- /* next try (classname)/(classname).(sys_dllextent) ... */
- strncpy(classname2, classname, MAXPDSTRING);
- filename[MAXPDSTRING-2] = 0;
- strcat(classname2, "/");
- strncat(classname2, classname, MAXPDSTRING-strlen(classname2));
- filename[MAXPDSTRING-1] = 0;
- if ((fd = open_via_path(dirname, classname2, sys_dllextent,
- dirbuf, &nameptr, MAXPDSTRING, 1)) < 0)
- {
- return (0);
- }
- }
-
-
- close(fd);
- class_set_extern_dir(gensym(dirbuf));
-
- /* refabricate the pathname */
- strncpy(filename, dirbuf, MAXPDSTRING);
- filename[MAXPDSTRING-2] = 0;
- strcat(filename, "/");
- strncat(filename, nameptr, MAXPDSTRING-strlen(filename));
- filename[MAXPDSTRING-1] = 0;
- /* extract the setup function name */
- if (lastdot = strrchr(nameptr, '.'))
- *lastdot = 0;
-
-#ifdef MACOSX
- strcpy(symname, "_");
- strcat(symname, nameptr);
-#else
- strcpy(symname, nameptr);
-#endif
- /* if the last character is a tilde, replace with "_tilde" */
- if (symname[strlen(symname) - 1] == '~')
- strcpy(symname + (strlen(symname) - 1), "_tilde");
- /* and append _setup to form the C setup function name */
- strcat(symname, "_setup");
-#ifdef DL_OPEN
- dlobj = dlopen(filename, RTLD_NOW | RTLD_GLOBAL);
- if (!dlobj)
- {
- post("%s: %s", filename, dlerror());
- class_set_extern_dir(&s_);
- return (0);
- }
- makeout = (t_xxx)dlsym(dlobj, symname);
-#endif
-#ifdef MSW
- sys_bashfilename(filename, filename);
- ntdll = LoadLibrary(filename);
- if (!ntdll)
- {
- post("%s: couldn't load", filename);
- class_set_extern_dir(&s_);
- return (0);
- }
- makeout = (t_xxx)GetProcAddress(ntdll, symname);
-#endif
-#ifdef MACOSX
- {
- NSObjectFileImage image;
- void *ret;
- NSSymbol s;
- if ( NSCreateObjectFileImageFromFile( filename, &image) != NSObjectFileImageSuccess )
- {
- post("%s: couldn't load", filename);
- class_set_extern_dir(&s_);
- return 0;
- }
- ret = NSLinkModule( image, filename,
- NSLINKMODULE_OPTION_BINDNOW + NSLINKMODULE_OPTION_PRIVATE);
-
- s = NSLookupSymbolInModule(ret, symname);
-
- if (s)
- makeout = (t_xxx)NSAddressOfSymbol( s);
- else makeout = 0;
- }
-#endif
-
- if (!makeout)
- {
- post("load_object: Symbol \"%s\" not found", symname);
- class_set_extern_dir(&s_);
- return 0;
- }
- (*makeout)();
- class_set_extern_dir(&s_);
- return (1);
-}
-
-#endif
-
-
-
-
-
-
-