Passing NULL is right, because NULL means the program itself, no external
library. That's right the case of average which searches for a function
inside the program itself. The real reason is that unicode string
conversions don't ensure the given string is non-NULL.
Please consider applying the attached patch.
> #define WITH_PLUGINS 1
Nice guess, I'll commit this too if it works. Let me know.
Thanks
--
http://syx.googlecode.com - Smalltalk YX
http://lethalman.blogspot.com - Thoughts about computer technologies
http://www.debian.org - The Universal Operating System
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkoXukEACgkQw9Qj+8Kak3GV2ACfUsnurv0pjrvyTg9H6wHw3cfp
caIAn11R5rl7Cw4zN5Uvm5w67P8bmvyg
=Ilsx
-----END PGP SIGNATURE-----
What if you instead use EXPORT in syx-interp.h:
#define SYX_FUNC_PRIMITIVE(name) \
EXPORT syx_bool \
name (SyxInterpState *es, SyxOop method)
Also try __declspec(dllexport) please.
>
> Without this, GetProcAddress cannot locate the function in the exe.
>
>
> 2) In syx-plugins.c function syx_library_open
> changed
>
> ret = LoadLibrary (SYX_IFDEF_UNICODE (location));
>
> to
>
> if (location)
> ret = LoadLibrary (SYX_IFDEF_UNICODE (location));
> else
> ret=GetModuleHandle(NULL);
>
> LoadLibrary cannot accept a NULL address
>
> 3) removed #define UNICODE in syx-config.h
> This is highly likely to be specific to my settings.
>
Thanks very much! I'll apply those for the next release.
On Sat, May 23, 2009 at 04:07:46PM +0100, Gulam Faruque wrote:
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
iEYEARECAAYFAkoYMakACgkQw9Qj+8Kak3FF7QCeK+jMylav8jq/b05Xt0jeLKLz
QT4An1T/nc/n0GmcgayzidgDRvrGh+99
=Glhc
-----END PGP SIGNATURE-----
I think I'll opt for the EXPORT one then, committing the fixes.
Thanks for your contribution.