summaryrefslogtreecommitdiff
path: root/src/base/modules.c
diff options
context:
space:
mode:
authorscarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-07-14 16:22:35 +0000
committerscarab <scarab@0ee4d065-81f0-4d1e-b06c-ff20ad07cc3e>2008-07-14 16:22:35 +0000
commitdf56031961a155c6dd01159a37f11ff024f2099b (patch)
treef9c21b7717300a2b4bd366c4566d6ba92f5068a3 /src/base/modules.c
parentf396b551377212846845362ea50c4b9a90308e21 (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-xsrc/base/modules.c16
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");