Remove CBitmapSurface.
[SDL.s60v3.git] / test / testloadso.c
blob39c14c69f97a4cf5cb11fa15967d8e12cf7814c8
2 /* Test program to test dynamic loading with the loadso subsystem.
3 */
5 #include <stdio.h>
6 #include <stdlib.h>
8 #include "SDL.h"
10 typedef int (*fntype)(const char *);
12 int main(int argc, char *argv[])
14 int retval = 0;
15 int hello = 0;
16 const char *libname = NULL;
17 const char *symname = NULL;
18 void *lib = NULL;
19 fntype fn = NULL;
21 if (argc != 3) {
22 const char *app = argv[0];
23 fprintf(stderr, "USAGE: %s <library> <functionname>\n", app);
24 fprintf(stderr, " %s --hello <lib with puts()>\n", app);
25 return 1;
28 /* Initialize SDL */
29 if ( SDL_Init(0) < 0 ) {
30 fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError());
31 return 2;
34 if (strcmp(argv[1], "--hello") == 0) {
35 hello = 1;
36 libname = argv[2];
37 symname = "puts";
38 } else {
39 libname = argv[1];
40 symname = argv[2];
43 lib = SDL_LoadObject(libname);
44 if (lib == NULL) {
45 fprintf(stderr, "SDL_LoadObject('%s') failed: %s\n",
46 libname, SDL_GetError());
47 retval = 3;
48 } else {
49 fn = (fntype) SDL_LoadFunction(lib, symname);
50 if (fn == NULL) {
51 fprintf(stderr, "SDL_LoadFunction('%s') failed: %s\n",
52 symname, SDL_GetError());
53 retval = 4;
54 } else {
55 printf("Found %s in %s at %p\n", symname, libname, fn);
56 if (hello) {
57 printf("Calling function...\n");
58 fflush(stdout);
59 fn(" HELLO, WORLD!\n");
60 printf("...apparently, we survived. :)\n");
61 printf("Unloading library...\n");
62 fflush(stdout);
65 SDL_UnloadObject(lib);
67 SDL_Quit();
68 return(0);