amxmodx/plugins/dlsym.c

44 lines
745 B
C
Raw Permalink Normal View History

2004-09-09 21:47:32 +00:00
/* by David "BAILOPAN" Anderson
* No warranties of any kind
* License: I hereby grant this work to the public domain and make no copyright claims.
*/
#include <stdio.h>
#include <stdlib.h>
#include <dlfcn.h>
#include <limits.h>
2004-09-09 21:47:32 +00:00
int main(int argc, char **argv)
{
char *file=NULL;
void *dl= NULL;
FILE *fp = NULL;
char path[PATH_MAX];
2004-09-09 21:47:32 +00:00
if (argc != 2)
{
printf("Usage: dlsym <file>\n");
exit(0);
}
file = argv[1];
realpath(file, path);
fp = fopen(path, "rb");
2004-09-09 21:47:32 +00:00
if (!fp)
{
printf("File not found.\n");
2004-09-09 21:47:32 +00:00
exit(0);
}
dl = dlopen(path, RTLD_NOW);
2004-09-09 21:47:32 +00:00
if (dl)
{
printf("Shared module loaded. Handle: %p\n", dl);
dlclose(dl);
dl = NULL;
} else {
printf("Shared module failed to load: %s\n", dlerror());
}
2007-07-25 18:13:38 +00:00
exit(0);
2004-09-09 21:47:32 +00:00
}