diff options
| author | scarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-14 16:22:35 +0000 |
|---|---|---|
| committer | scarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e> | 2008-07-14 16:22:35 +0000 |
| commit | df56031961a155c6dd01159a37f11ff024f2099b (patch) | |
| tree | f9c21b7717300a2b4bd366c4566d6ba92f5068a3 /src/base/modules.c | |
| parent | f396b551377212846845362ea50c4b9a90308e21 (diff) | |
- oprava warningu ve win
- uprava cmake pro win
- stale hazi 1 chybu pri linkovani
- zkuste to hlavne na linuxu aby sme vedeli jestli tam nejsou nejake chyby co sem zanesl do kodu
git-svn-id: http://opensvn.csie.org/tuxanci_ng@136 0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e
Diffstat (limited to 'src/base/modules.c')
| -rwxr-xr-x | src/base/modules.c | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/src/base/modules.c b/src/base/modules.c index 4746bdb..7dd3148 100755 --- a/src/base/modules.c +++ b/src/base/modules.c @@ -90,7 +90,7 @@ static module_t* newModule(char *name) assert( name != NULL ); ret = malloc( sizeof(module_t) ); - #ifndef __WIN32__ +#ifndef __WIN32__ ret->image = dlopen (name, RTLD_LAZY); if(!ret->image) @@ -99,7 +99,7 @@ static module_t* newModule(char *name) free(ret); return NULL; } - #else +#else HINSTANCE image; image = LoadLibrary((LPCSTR) name); if (!image) @@ -124,8 +124,7 @@ static module_t* newModule(char *name) } ret->image = image; free(image); - free(image); - #endif +#endif ret->file = strdup(name); ret->fce_init = getFce(ret, "init"); @@ -143,8 +142,11 @@ static module_t* newModule(char *name) if( ret->fce_init(&export_fce) != 0 ) { fprintf(stderr, "init module failed !\n"); - +#ifndef __WIN32__ dlclose(ret->image); +#else + free(ret->image); +#endif free(ret->file); free(ret); return NULL; @@ -160,7 +162,11 @@ static int destroyModule(module_t *p) p->fce_destroy(); free(p->file); +#ifndef __WIN32__ dlclose(p->image); +#else + free(p->image); +#endif free(p); printf("destroy module..\n"); |