Added moduleWelcome return check in modInfo::GfModInitialize
git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@539 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: b54f8692340bf7b41321b527d23645454fae5900 Former-commit-id: 94072df8a13c563e5b42d82378aac4e5104087b7
This commit is contained in:
parent
387768e7f5
commit
3fcd6891ec
1 changed files with 14 additions and 8 deletions
|
@ -190,10 +190,15 @@ int GfModInitialize(tSOHandle soHandle, const char *soPath, unsigned int gfid, t
|
||||||
tModWelcomeOut welcomeOut;
|
tModWelcomeOut welcomeOut;
|
||||||
|
|
||||||
/* Call the welcome function */
|
/* Call the welcome function */
|
||||||
initSts = fModInfoWelcome(&welcomeIn, &welcomeOut);
|
if ((initSts = fModInfoWelcome(&welcomeIn, &welcomeOut)) != 0)
|
||||||
|
{
|
||||||
/* Save information given by the module */
|
GfError("GfModInitialize: Module welcome function failed %s\n", soPath);
|
||||||
(*mod)->modInfoSize = welcomeOut.maxNbItf;
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* Save information given by the module */
|
||||||
|
(*mod)->modInfoSize = welcomeOut.maxNbItf;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 2) If not present, default number of interfaces (backward compatibility) */
|
/* 2) If not present, default number of interfaces (backward compatibility) */
|
||||||
|
@ -202,16 +207,17 @@ int GfModInitialize(tSOHandle soHandle, const char *soPath, unsigned int gfid, t
|
||||||
(*mod)->modInfoSize = GfModInfoDefaultMaxItf;
|
(*mod)->modInfoSize = GfModInfoDefaultMaxItf;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Get module initialization function :
|
/* Get module initialization function if welcome succeeded :
|
||||||
1) Try the new sheme (fixed name) */
|
1) Try the new sheme (fixed name) */
|
||||||
if ((fModInfoInit = (tfModInfoInitialize)dlsym(soHandle, GfModInfoInitializeFuncName)) == 0)
|
if (initSts == 0
|
||||||
|
&& (fModInfoInit = (tfModInfoInitialize)dlsym(soHandle, GfModInfoInitializeFuncName)) == 0)
|
||||||
{
|
{
|
||||||
/* 2) Backward compatibility (dll name) */
|
/* 2) Backward compatibility (dll name) */
|
||||||
fModInfoInit = (tfModInfoInitialize)dlsym(soHandle, soName);
|
fModInfoInit = (tfModInfoInitialize)dlsym(soHandle, soName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Call module initialization function if found */
|
/* Call module initialization function if welcome succeeded and init function found */
|
||||||
if (fModInfoInit)
|
if (initSts == 0 && fModInfoInit)
|
||||||
{
|
{
|
||||||
/* Allocate module interfaces info array according to the size we got */
|
/* Allocate module interfaces info array according to the size we got */
|
||||||
tModInfo* constModInfo;
|
tModInfo* constModInfo;
|
||||||
|
|
Loading…
Reference in a new issue