Could we try loading it without any changes, and if that doesn't work,
strip the last .?
On Fri, 23 Sep 2005 15:51:31 +1000, Ross McFarland <[EMAIL PROTECTED]>
wrote:
i was playing around with NCI stuff tonight and ran across a problem in
loadlib. the following code does not work:
.local pmc lib_gtk
lib_gtk = loadlib "libgtk-x11-2.0"
the problem is the '.' in the library name. code was added to src/
dynext.c in 8209 that gets the lib_name, the name of the library without
any prefix or leading path information. this fix breaks the ability to
load libraries with .'s. the offending code is:
ext_start = strrchr(*lib_name, '.');
if (ext_start)
*ext_start = '\0';
which finds the last '.' in the library name and sets it to the null
char if one is found, thus turning libgtk-x11-2.0 in to libgtk-x11-2
which can't be found. this results in an unable to load libgtk-x11-2.0
with an "unknown reason" message.
if i set ext_start to NULL just before the test and null char set and
the library loads fine.
i'm not really sure what the solution here would be. you'd have to know
what all of the possible extension types were and look to remove them if
found otherwise you have no idea what is and isn't just part of a
library name. in what situation would you be passing in a full path and
file with extension to loadlib? is that a requirement to be able to? it
sound unnecessary to me. i'm willing to implement and test any
ideas/suggestions people have.
i was planning on playing around with gtk+ bindings and parrot and went
about looking around for the work that had already been done and didn't
turn anything up. if anyone knows where i can find it or who i should
talk to i would appreciate that info as well.
-rm
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/